我尝试使用时间戳,例如数据下的值。
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:
.
.
.
但是我认为完成所有数据太久了。
是否可以使用时间戳来查找值?
答案 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])
如果您可以进一步澄清问题,则应该为您提供更具体的示例。另请注意,以上示例中的某些步骤可以组合在一起...(显示选项的一部分)。
有关日期的更多信息,可以在以下资源中找到:
希望这会有所帮助。