Pandas as_index 用于保留分组列

Pandas as_index for keeping grouped column

我正在尝试创建按列分组的转换(均值)table。一切正常,除了分组列不会留在 table 视图中。不确定为什么在这种情况下使用 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()

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

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