我想重新取样并插入一只熊猫系列。但是我的索引在float64中是这样的:
Value
Time
0.0 0.00
0.0 0.00
0.0 0.00
0.0 0.00
0.0 0.00
0.1 0.00
0.2 0.00
0.3 0.00
0.4 0.00
0.5 0.00
0.6 0.00
0.7 0.00
0.8 0.00
0.9 0.00
1.0 0.00
这是我系列的开始。
我必须使用类似upsampled = series.resample('D')
之类的内容,但我找不到正确的字母而不是D,我有以下信息:
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Float64Index'
我没有成功改变float64。但是,没有其他方法可以只在浮点时插入时间。 谢谢。
答案 0 :(得分:3)
您收到的错误告诉您,大熊猫想要一个基于时间的索引。使用pandas重新采样仅适用于时间 - 日期格式。您可以将浮动转换为时间和日期格式,但在您的示例中这似乎是合适的。另一个和(首选)选项是使用类似scipy的signal.resample
之类的东西,它采用一个numpy数组:https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.resample.html
答案 1 :(得分:3)
我认为您可以转换浮点数to_timedelta
,然后可以使用resample
和sum
或mean
这样的聚合函数:
df.index = pd.to_timedelta(df.index, unit='ms')
df = df.resample('d')['Value'].sum()
df = df.resample('d')['Value'].mean()