第二个索引作为列名

第二个索引作为列名

样本数据框:

import pandas as pd
idx = pd.MultiIndex.from_product([['Microsoft', 'Google', 'Apple'],
                                  ['OS', 'Web']],
                                 names=['Brand', 'Metric'])
col = ['Count']

df = pd.DataFrame(10, idx, col)
df


数据看起来像这样

python - Pandas MultiIndex Dataframe转换为Excel |第二个索引作为列名-LMLPHP

当我将其下载为csv时,它会像

df.to_csv('example.csv')


python - Pandas MultiIndex Dataframe转换为Excel |第二个索引作为列名-LMLPHP

我的要求是将这些数据下载为数据透视表,我找不到任何将第二个索引作为列名移动的方法,所需的数据输出如下所示

python - Pandas MultiIndex Dataframe转换为Excel |第二个索引作为列名-LMLPHP

最佳答案

我认为需要通过DataFrame将重整后的unstack写为csv并进行一些数据清理:

df['Count'].unstack().rename_axis(None).rename_axis(None, axis=1).to_csv('example.csv')


详情:

print (df['Count'].unstack().rename_axis(None).rename_axis(None, axis=1))
           OS  Web
Apple      10   10
Google     10   10
Microsoft  10   10

10-06 08:39