繁体   English   中英

如何在 pandas dataframe 中获取日期范围内的部分数据(这也是索引)?

[英]How can i get partial data which is in a range of date(which is also index) in a pandas dataframe?

我有一个 pandas dataframe,我需要获取两个日期之间的所有SPREAD值(例如,在 2021-03-25 和 2021-03-29 之间)

DATE                          SPREAD
2021-03-23 01:16:20.510064    -35.79
2021-03-23 01:16:20.948753    -33.82
2021-03-23 01:16:21.385717    -33.82
2021-03-23 01:16:21.818057    -33.82
2021-03-23 01:16:22.249897    -33.82
                               ...  
2021-04-06 15:46:39.193054   -117.73
2021-04-06 15:46:39.447869   -117.73
2021-04-06 15:46:39.701930   -117.73
2021-04-06 15:46:39.963806   -117.73
2021-04-06 15:46:40.212487   -117.73

这是我正在尝试的代码,当然它不起作用; 它只是给出一个空的 dataframe:

data = pd.read_csv(r'filev2server.csv',index_col="DATE", parse_dates=True, delimiter=",")
filter = (data.index > start_date) & (data.index <= end_date)
data=data.loc[filter]

这是我期望的结果(从 3 月 25 日到 3 月 29 日):

DATE                          SPREAD
2021-03-25 00:00:00.209803    -15.18
2021-03-25 00:00:01.834820    -15.25
2021-03-25 00:00:02.269944    -14.25
2021-03-25 00:00:02.706196    -14.12
2021-03-25 00:00:03.140489    -14.55
                               ...  
2021-03-29 23:59:58.876018    -77.52
2021-03-29 23:59:59.110395    -77.52
2021-03-29 23:59:59.497492    -77.47
2021-03-29 23:59:59.727999    -76.85
2021-03-29 23:59:59.963468    -76.84

转换索引to_datetime()然后使用 boolean 索引:

start_date = '2021-03-25'
end_date = '2021-03-29'

data.index = pd.to_datetime(data.index)
data = data[(data.index > start_date) & (data.index <= end_date)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM