鑑於以下數據幀:熊貓標誌行與互補零
import pandas as pd
df=pd.DataFrame({'A':[0,4,4,4],
'B':[0,4,4,0],
'C':[0,4,4,4],
'D':[4,0,0,4],
'E':[4,0,0,0],
'Name':['a','a','b','c']})
df
A B C D E Name
0 0 0 0 4 4 a
1 4 4 4 0 0 a
2 4 4 4 0 0 b
3 4 0 4 4 0 c
我想添加一個名爲「Match_Flag」的標籤,如果他們有互補的零個圖案行的獨特組合,新的領域(如行0,1和2)AND具有相同的名稱(僅用於行0和1)。它使用匹配的行的名稱。
期望的結果是,如下所示:
A B C D E Name Match_Flag
0 0 0 0 4 4 a a
1 4 4 4 0 0 a a
2 4 4 4 0 0 b NaN
3 4 0 4 4 0 c NaN
警告: 的模式可以不同,但仍應是互補的。
在此先感謝!
UPDATE
很抱歉的混亂。 這裏有一些說明:
行0和1是「互補」的原因是它們的列中有零的相反模式; 0,0,0,4,4 vs,4,4,4,0,0。 數字4是任意的;它可以很容易地是0,0,0,4,2和65,770,23,0,0。因此,如果2個這樣的行確實是互補的並且它們具有相同的名稱,我希望它們在「Match_Flag」列下標記相同的名稱。
從來沒有的 「免費」 的頭,請解釋。 – Merlin
我的意思是,在一行中爲零的列在另一行中不爲零,反之亦然。這就是爲什麼前兩排是免費的;他們在相反的列中有零。 –