使用pandas.DataFrame.resample我可以对DataFrame进行下采样:
df.resample("3s", how="mean")
这将对具有日期时间类索引的数据帧进行重新采样,以使3秒内的所有值都汇总到一行中。列的值被平均。
问题:我有一个包含多列的数据框。是否可以为不同的列指定不同的聚合函数,例如我想要
"sum"
列x
,"mean"
列y
并为"last"
列选择z
吗?我怎样才能达到那种效果?我知道我可以创建一个新的空数据框,然后调用
resample
3次,但我希望使用一种更快的就地解决方案。 最佳答案
重新采样后可以使用 .agg
。使用字典,您可以将具有各种功能的不同列聚合在一起。
试试这个:
df.resample("3s").agg({'x':'sum','y':'mean','z':'last'})
此外,不建议使用
how
:关于python - 具有列特定聚合功能的Pandas df.resample,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44289526/