我有一些 Pandas /cudf使用两种聚合方法聚合特定列的代码,然后将多索引列重命名为扁平列。
df = (
some_df
.groupby(["some_dimension"])
.agg({"some_metric" : ["sum", "max"]})
.reset_index()
.rename(columns={"some_dimension" : "some_dimension__id", ("some_metric", "sum") : "some_metric_sum", ("some_metric", "max") : "some_metric_max"})
)
这在 cudf 中效果很好,但在 Pandas 0.25 中不起作用——层次结构没有展平。
是否有使用 Pandas 的类似方法?我喜欢 cudf 元组语法以及它们如何隐式展平列。希望在 Pandas 中找到一种类似简单的方法来做到这一点。
谢谢。
最佳答案
在 pandas 0.25.0+ 中,有一个叫做 groupby aggregation with relabeling 的东西。
这是您的代码
df = (some_df
.groupby(["some_dimension"])
.agg(some_metric_sum=("some_metric", "sum"),
some_metric_max=("some_metric", "max"]})
.reset_index()
.rename(colunms = {"some_dimension":"some_dimension_id"}))
关于pandas - 展平并重命名多索引聚合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61739817/