1
我觀察到了一些奇怪的行爲大熊貓與多指標dataFrames.columns大熊貓多指標數據幀的列名 - 奇怪的行爲
建設一個多指標數據幀:
a=[0,.25, .5, .75]
b=[1, 2, 3, 4]
c=[5, 6, 7, 8]
d=[1, 2, 3, 5]
df=pd.DataFrame(data={('a','a'):a, ('b', 'b'):b, ('c', 'c'):c, ('d', 'd'):d})
產生這個數據幀
a b c d
a b c d
0 0.00 1 5 1
1 0.25 2 6 2
2 0.50 3 7 3
3 0.75 4 8 5
創建具有原始數據子集的新變量框架
df1=df.copy().loc[:,[('a', 'a'), ('b', 'b')]]
產生像預期:
a b
a b
0 0.00 1
1 0.25 2
2 0.50 3
但訪問該新數據幀的列名產生一些意想不到的輸出:
print df1.columns
MultiIndex(levels=[[u'a', u'b', u'c', u'd'], [u'a', u'b', u'c', u'd']],
labels=[[0, 1], [0, 1]])
所以( 'B', 'b')和('C ','c')仍然包含在內。
相反
print df1.columns.tolist()
收益預期一樣:
[('a', 'a'), ('b', 'b')]
有誰能夠解釋我這種行爲的原因?