cube timestamp temp
timestamp
2022-08-01 00:15:05.135 A1 2022-08-01 00:15:05.135 NaN
2022-08-01 00:15:37.255 A1 2022-08-01 00:15:37.255 23.17
2022-08-01 00:23:05.139 A1 2022-08-01 00:23:05.139 NaN
2022-08-01 00:23:15.137 A1 2022-08-01 00:23:15.137 NaN
2022-08-11 11:33:20.738 P19 2022-08-11 00:15:05.135 NaN
我试图插值NaN值的温度的基础上的时间戳相对于立方体使用下面的代码
idata.set_index(idata['timestamp'],inplace = True)
idata['temp'] = idata.groupby('cube')['temp'].apply(lambda x:x.interpolate(method="time",limit_direction = "both"))
在执行此代码时,我得到错误“ValueError:我不能删除重复的标签(时间戳),因为它可能属于不同的多维数据集。请建议处理这种情况的替代方案。
2条答案
按热度按时间8dtrkrch1#
要用作索引的列中可能有重复的值。索引值必须唯一。
您可以使用
df['timestamp'].duplicated()
找到它们mwg9r5ms2#
我认为问题源于先设置重复索引,然后再做
groupby
。相反,我建议您先按cube
分组,然后在每个组内进行插值:你得到一个带有
MultiIndex
的 Dataframe ,组作为第一级,时间戳作为第二级。列temp
按照你的需要插值:或者,如果您更喜欢可读性较低的一行程序: