gpt4 book ai didi

python - Pandas:使用日期列表和 DateTimeIndex 访问数据

转载 作者:太空狗 更新时间:2023-10-30 02:26:10 24 4
gpt4 key购买 nike

我有一个带有 DateTimeIndex 的 pandas DataFrame:

                           A          B
2016-04-25 18:50:06 440.967796 201.049600
2016-04-25 18:50:13 441.054995 200.767034
2016-04-25 18:50:20 441.142337 200.484475
...
2016-07-27 18:50:06 440.967796 201.049600
2016-07-27 18:50:13 441.054995 200.767034
2016-07-27 18:50:20 441.142337 200.484475

我想使用日期列表提取给定日期 yyyy-mm-dd 的所有数据:['2016-04-25','2016-04- 28',...]

我尝试了以下方法:

 df[df.index.isin(['2016-04-25', '2016-04-26'])]

Empty DataFrame

我想检索此列表中给定日期的所有数据(全天的数据)

最佳答案

您需要先删除时间 this solutions :

df = df[df.index.normalize().isin(['2016-04-25', '2016-04-26'])]

df = df[df.index.floor('D').isin(['2016-04-25', '2016-04-26'])]

另一种解决方案是比较 DatetimeIndex.date , 但必要使用 numpy.in1d而不是 isin:

df = df[np.in1d(df.index.date, pd.to_datetime(['2016-04-25', '2016-04-26']).date)]

或者比较创建的字符串DatetimeIndex.strftime :

df = df[np.in1d(df.index.strftime('%Y-%m-%d'), ['2016-04-25', '2016-04-26'])]

print (df)
A B
2016-04-25 18:50:06 440.967796 201.049600
2016-04-25 18:50:13 441.054995 200.767034
2016-04-25 18:50:20 441.142337 200.484475

关于python - Pandas:使用日期列表和 DateTimeIndex 访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45945104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com