我想給我的DF添加一個新的等級(以便我可以使用pd.reindex
來做其他事情)。我的DF主要有這樣的事情:在熊貓中添加等級到DF的中間
df = pd.DataFrame({('A','a'): [-1,-1,0,10,12],
('A','b'): [0,1,2,3,-1],
('A','c'): [-1,1,0,10,12],
('A','d'): [1,1,2,3,-1],
('B','a'): [-20,-10,0,10,20],
('B','b'): [-200,-100,0,-1,200],
('B','c'): [-20,-10,0,10,20],
('B','d'): [-200,-100,0,100,200]
})
##df
A B
a b c d a b c d
0 -1 0 1 1 -20 -200 -20 -200
1 -1 1 -1 1 -10 -100 -10 -100
2 0 2 0 2 0 0 0 0
3 10 3 10 3 10 -1 10 100
4 12 -1 12 -1 20 200 20 200
我要指派新的水平鍵L1
= a
+ b
,並L2
= c
+ d
。我該怎麼做呢?
所需的輸出將
##df
A B
L1 L2 L1 L2
a b c d a b c d
0 -1 0 1 1 -20 -200 -20 -200
1 -1 1 -1 1 -10 -100 -10 -100
2 0 2 0 2 0 0 0 0
3 10 3 10 3 10 -1 10 100
4 12 -1 12 -1 20 200 20 200
編輯:客觀是實現類似於被要求在here東西。這意味着對於同一個KEY,某些行將有NA
s,具體取決於其他列的值。 例如如果我想通過分別檢測是否列過濾列a
和c
b
和d
是否定的:
##df
A B
L1 L2 L1 L2
a b c d a b c d
0 -1 0 1 1 NA NA NA NA
1 -1 1 -1 1 NA NA NA NA
2 0 2 0 2 0 0 0 0
3 10 3 10 3 NA NA 10 100
4 NA NA NA NA 20 200 20 200
「,使然後我可以使用PD .reindex做其他事情「:或許我們可以更好地幫助你,如果你說明你的最終目的是什麼。 – Wli
那麼,最終目的是非常相似,我在這裏問((http://stackoverflow.com/questions/42246373/replacing-values-in-a-2nd-level-column-on-multiindex-df-in -pandas)。現在的區別是,我必須對列「a」和「b」進行解析(正如我在前一篇文章中所做的那樣),對於'c'和'd'也是如此。 – Sosi
我要改變工作示例以反映此評論 – Sosi