熊猫重命名具有相同名称的多级列

时间:2021-06-17 12:30:04

标签: python pandas

当我使用聚合函数时,结果列 'price' 和 'carat' 具有相同的列名 'mean'。

如何将 mean 下的 price 重命名为 price_mean,将 carat 下的 carat_mean 重命名为 diamonds.groupby('cut').agg({ 'price': ['count', 'mean'], 'carat': 'mean' }).rename(columns={'mean':'price_mean','mean':'carat_mean'}, level = 1) }) 。 我无法单独更改它们。

resize()

enter image description here

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

# Rename columns of level 1
df1 = df["price"]
df1.columns = ["count", "carat_mean"]

df2 = df["carat"]
df2.columns = ["carat_mean"]

# Aggregate dfs (with renamed columns) under level 0 columns
df = pd.concat([df1, df2], axis=1, keys=['price', 'carat'])

print(df)
# Outputs
          price                 carat
          count carat_mean carat_mean
Fair   0.693995  -0.632283   0.789963
Good   0.099057   1.005623   0.143289
Ideal -0.277984  -0.105138  -0.611168