我如何在数据框python中使用时间戳查找值

时间:2019-03-14 02:19:34

标签: python dataframe timestamp

我尝试使用时间戳,例如数据下的值。

    date               foo  bar
2019-01-26 22:22:12     1   100 
2018-11-07 13:12:26     1   100 
2019-01-20 06:30:39     1   100 
2018-11-05 21:21:29     0   80  
2018-11-06 09:01:39     0   100 

当我在代码下使用时,Series不支持它。

tmp = df [df.date.day == 20]

所以我使用了循环,每一行读取并调相数据。

for i in range(len(df)):
    if df.date[i].day == 20:
               .
               .
               .

但是我认为完成所有数据太久了。

是否可以使用时间戳来查找值?

1 个答案:

答案 0 :(得分:1)

是否可以进一步澄清您的问题?如果我理解正确,那么您正在将数据加载到pandas数据框中。加载数据后,您要根据日期值对其进行过滤。如果是这种情况,将会有一个选择。

import pandas as pd

# Create basic dataframe

df = pd.DataFrame([{'date' : '2019-01-26 22:22:12','foo': 1,'bar':   100 },
{'date' : '2018-11-07 13:12:26','foo': 1,'bar':   100},
{'date' : '2019-01-20 06:30:39','foo': 1,'bar':   100},
{'date' : '2018-11-05 21:21:29','foo': 0,'bar':   80},
{'date' : '2018-11-06 09:01:39','foo': 0,'bar':100 }])

print(df)
print(df.dtypes)

# Parse date column
df['date'] = pd.to_datetime(df['date'])
print(df)
print(df.dtypes)

df['date_day'] = df['date'].dt.day

# Select based on day
print(df[df['date_day'] == 20])

如果您可以进一步澄清问题,则应该为您提供更具体的示例。另请注意,以上示例中的某些步骤可以组合在一起...(显示选项的一部分)。

有关日期的更多信息,可以在以下资源中找到:

希望这会有所帮助。