13
pandas
具有多層次的列名的支持:熊貓:多級列名
>>> x = pd.DataFrame({'instance':['first','first','first'],'foo':['a','b','c'],'bar':rand(3)})
>>> x = x.set_index(['instance','foo']).transpose()
>>> x.columns
MultiIndex
[(u'first', u'a'), (u'first', u'b'), (u'first', u'c')]
>>> x
instance first
foo a b c
bar 0.102885 0.937838 0.907467
這個功能是非常有用的,因爲它允許在同一數據幀的多個版本,以與第一級附加「水平」列名(在我的示例instance
)區分實例。
想象我已經有一個這樣的數據幀:
a b c
bar 0.102885 0.937838 0.907467
有一個很好的方式來增加另一個層次的列名,類似這樣的行索引:
x['instance'] = 'first'
x.set_level('instance',append=True)
我不*認爲*有,但肯定應該有。我認爲在github上有這個功能請求... –
雖然它引發了一些有趣的問題,例如「如何在列級命名有兩級時選擇特定列?」。 – LondonRob
x ['first'],x [(first','a')or x.xs('a',axis = 1,level = 1)? :s –