![](/img/trans.png)
[英]How can I apply a function to a dataframe which needs a row index in Pandas?
[英]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.