问题描述
import pandas as pd
agg_df = pd.DataFrame({'v1':['item','item','location','status','status'],'v2' :['bed','lamp','candle','chair','home','new','used' ],'count':['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
如何创建这样的数据框?
解决方法
仅用于显示,可以使用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
,
u可以使用
import pandas as pd
agg_df = pd.DataFrame({'v1':['item','item','location','status','status'],'v2' :['bed','lamp','candle','chair','home','new','used' ],'count':['2','2','1','7','4','3' ]})
agg_df.set_index(["v1","v2"])