使用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/

10-12 14:01