[英]Remake columns in pivot_table,pandas
我已经堆砌成一个姓。 我枢纽这个数据框。
from pandas import DataFrame,Series
d = {'Sex' : Series(["Male","Male","Female","Female","Female","Male"]),
'Rank' : Series(["A","B","C","A","B","C"]),
'Num' : Series([1,2,3,4,5,6]),
'States' : Series(["Ohio","Oregon","NC","Michigan","NY"])
}
df = DataFrame(d)
print df
df_pvt = df.pivot_table("Num",cols=['States','Sex'],rows="Rank")
print df_pvt
该数据框的列为ndarray。
print df_pvt.columns.values
type(df_pvt.columns.values)
我想重新命名为这样的组合列。
colnames = ['Michigan_Female','NC_Female','NY_Female','Ohio_Male','Oregon_Male']
我认为我必须做一个函数来组合这些列,但是如果您知道执行此操作的简便方法,请告诉我任何建议。
谢谢阅读。
最简单的方法可能是在透视之前合并这些列:
In [17]: df['kind'] = df.States + '_' + df.Sex
In [18]: df.pivot_table('Num', cols=['kind'], rows='Rank')
Out[18]:
kind Michigan_Female NC_Female NY_Female Ohio_Male Oregon_Male
Rank
A 4 NaN NaN 1 NaN
B NaN NaN 5 NaN 2
C NaN 3 NaN NaN NaN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.