首页 > 解决方案 > 准备发布的聚合数据框

问题描述

我有一个像这样的 Pandas 聚合数据框:

import pandas as pd
agg_df = pd.DataFrame({'v1':['item',  'item', 'item', 'item', 'location',  'status', 'status'],
                      'v2' :['bed', 'lamp', 'candle',   'chair',  'home', 'new',   'used' ],
                    'count':['2',  '2', '2',   '1',   '7',  '4',   '3' ]})

agg_df

在此处输入图像描述

我想为学术出版做准备,我需要一个像这样的新数据框:

# item     bed    2
#          lamp   2
#          candle 2
#          chair  1
# location home   7
# status   new    4
#          used   3

如何创建这样的数据框?

标签: pythonpandasdata-wrangling

解决方案


仅用于显示可以使用MultiIndex

df = agg_df.set_index(['v1','v2'])
print (df)
                count
v1       v2          
item     bed        2
         lamp       2
         candle     2
         chair      1
location home       7
status   new        4
         used       3

如果需要替换重复值,请Series.duplicated使用Series.mask

agg_df['v1'] = agg_df['v1'].mask(agg_df['v1'].duplicated(),'')
print (agg_df)
         v1      v2 count
0      item     bed     2
1              lamp     2
2            candle     2
3             chair     1
4  location    home     7
5    status     new     4
6              used     3

如果需要删除索引和列值:

print (agg_df.to_string(index=False, header=None))
     item     bed  2
             lamp  2
           candle  2
            chair  1
 location    home  7
   status     new  4
             used  3

推荐阅读