首页 > 解决方案 > 如何在数据框 python 中使用时间戳查找值

问题描述

我尝试使用数据下的时间戳来查找值。

    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 

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

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

所以我使用循环来读取每一行并解析数据。

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

但我认为完成我的所有数据太长了。

有没有办法使用时间戳来查找值?

标签: pythondataframetimestamp

解决方案


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

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])

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

有关使用日期的更多信息,请参阅(除其他外)以下资源:

希望这可以帮助。


推荐阅读