在2011-01-01之后,我尝试使用索引来选择数据中的行。我使用了下面的代码来返回部分数据,即在2011-01-01之后
df = df[df.Date > np.datetime64('2011-01-01 00:00:00')]我没搞错。然而,我只看到2016年的日期当我手动打开文件时,我可以看到从2011年开始有很多条目。
我在这里做错了什么?有什么想法吗?
谢谢!
下面是一些数据片段:在这里输入图像描述
发布于 2016-09-29 02:35:31
导入数据后,Date列的所有值都仍然存在,即使在过滤之后也是如此。这只是因为您的数据太大,无法在控制台上完全显示(请看一下熊猫设置)。因此,其中一些正在被(视觉上)截断以适应页面。
使用将Date列转换为熊猫日期时间对象并从那里处理筛选的技巧:
import pandas as pd
df = pd.read_csv('Crimes_-_2001_to_present.csv', header = 0)
df.Date = pd.to_datetime(df.Date)
filterer = df.Date > pd.to_datetime('2011-01-01 00:00:00')
df = df[filterer]现在,当您查看Date列中的第200行时,您应该得到一些信息:
df['Date'].iloc[200]
#Timestamp('2011-05-31 19:30:00')列Date中的第2000行
df['Date'].iloc[2000]
#Timestamp('2013-09-19 20:45:00')本质上,一切都在那里。您的控制台可能太小,无法满足所有的需求。
我希望这能帮到你。
https://stackoverflow.com/questions/39759496
复制相似问题