gpt4 book ai didi

python - 按天汇总 pandas 数据帧时间序列

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:28 33 4
gpt4 key购买 nike

我正在将时间序列数据的 csv 文件读入 pandas DataFrame 并提取两个相关列,如下所示:

import pandas as pd

df = pd.read_csv('C:\Users\Stuart\Documents\SPYDER\Joint_Strat.csv', index_col=0)

df2 = df['weighted ret']

df2.head()

date
02/01/2007 0.002432
02/01/2007 0.001216
02/01/2007 0.001216
03/01/2007 0.000597
03/01/2007 0.000448
Name: weighted ret, dtype: float64

我想按天对“加权 ret”列进行求和,以便每个日期仅显示一次,并对当天的相应返回进行求和。我尝试了以下方法:

df2 = df2.resample('D',how='sum')

但出现错误:

TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex

然后我尝试通过以下方式将索引更改为日期时间:

import dateutil

df2.index = pd.to_datetime(df2.index)

然后运行

df2 = df2.resample('D',how='sum')

再次。

它似乎可以运行,但是当我打印出来时

df2.head(10)

我得到以下信息:

2007-01-02   -0.002244
2007-01-03 0.001009
2007-01-04 NaN
2007-01-05 NaN
2007-01-06 -0.000732
2007-01-07 NaN
2007-01-08 0.002016
2007-01-09 NaN
2007-01-10 0.001267
2007-01-11 -0.0012

这是不正确的,因为我的日期值显示为 NaN,事实上,显示的数字并不是每个日内返回总和的正确值。

我想这应该很容易做到,但我就是无法让它正常工作,并且不知道从这里去哪里。有人可以建议我哪里出错了吗?非常感谢

最佳答案

您应该能够按如下方式对系列索引进行分组:

df2.groupby(level=0).sum()

关于python - 按天汇总 pandas 数据帧时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35808465/

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