准备用于发布的聚合数据框 [英] Preparing an aggregate dataframe for publication

查看:61
本文介绍了准备用于发布的聚合数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a Pandas aggregate dataframe like this:

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

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

I want to prepare it for academic publication and I need a new dataframe like this:

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

如何创建这样的数据框?

How can I create such a dataframe?

推荐答案

仅用于显示可以使用 MultiIndex:

For display only is possible use 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.duplicatedSeries.mask:

If need replace duplicated values use Series.duplicated with 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

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

If need remove index and columns values:

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

这篇关于准备用于发布的聚合数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆