首页 > 解决方案 > 用于保持分组列的 Pandas as_index

问题描述

我正在尝试创建一个按列分组的转换(平均)表。一切正常,除了分组列不留在表视图中。不知道为什么as_index=False在这种情况下使用不起作用 -

df2 =df[cols].groupby(by='col1',as_index=False)[['val1','val2','val3']].transform('mean').sort_values(by=['val1'],ascending=False).drop_duplicates()

标签: pythonpandasgroup-bytransform

解决方案


transform假设与原始数据的索引相同,因此它不会将分组键带入图片。为什么你transform只想drop_duplicates

df2 = (df[cols].groupby(by='col1',as_index=False)[['val1','val2','val3']]
               .mean()
               .sort_values(by=['val1'],ascending=False)
      )

推荐阅读