簡體   English   中英

重新制作pivot_table,pandas中的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM