我有以下df:
Timestamp A B C ...
2014-11-09 00:00:00 NaN 1 NaN NaN
2014-11-09 00:00:00 2 NaN NaN NaN
2014-11-09 00:00:00 NaN NaN 3 NaN
2014-11-09 08:24:00 NaN NaN 1 NaN
2014-11-09 08:24:00 105 NaN NaN NaN
2014-11-09 09:19:00 NaN NaN 23 NaN
我想做以下几点:
Timestamp A B C ...
2014-11-09 00:00:00 2 1 3 NaN
2014-11-09 00:01:00 NaN NaN NaN NaN
2014-11-09 00:02:00 NaN NaN NaN NaN
... NaN NaN NaN NaN
2014-11-09 08:23:00 NaN NaN NaN NaN
2014-11-09 08:24:00 105 NaN 1 NaN
2014-11-09 08:25:00 NaN NaN NaN NaN
2014-11-09 08:26:00 NaN NaN NaN NaN
2014-11-09 08:27:00 NaN NaN NaN NaN
... NaN NaN NaN NaN
2014-11-09 09:18:00 NaN NaN NaN NaN
2014-11-09 09:19:00 NaN NaN 23 NaN
也就是说:我想合并具有相同时间戳的列(我有17列),以1分钟的粒度重新采样,对于那些没有值的列,我想使用NaN。
我从以下几个方面着手:
df.groupby('Timestamp').sum()
以及
df = df.resample('1Min', how='max')
但我得到了以下错误:
ValueError: cannot reindex from a duplicate axis
我怎样才能解决这个问题?我只是在学Python,所以一点经验都没有。
谢谢你!
假设您的
Timestamp
作为索引开始,您需要先执行重新采样,然后在执行groupby
之前,这里是工作示例:希望这有帮助。
更新时间:
如注释中所述,您的“Timestamp”不是datetime,可能是string,因此您不能按datetime index重新采样,只需重置索引并将其转换为如下内容:
现在只需再次运行前面的代码,但将“Timestamp”替换为“ts”,就可以了。
相关问题 更多 >
编程相关推荐