2017-02-16 32 views
1

我有這個數據幀:如何根據列實現的標準刪除行?

COL_1 COL_2 COL_3 COL_4 NUM_1 NUM_2 NUM_3 NUM_4 
NaN  AD  MD  TR  0  0  1  1 
AD  TT  MD  TR  1  0  1  1 
AD  TT  MD  NaN  0  0  1  0 

我要刪除那些有NUM_等於1 AD之後列索引行。例如,第一行中的列索引AD等於2(COL_2)。所以,NUM_3NUM_2之後的下一個)等於1.它意味着該行應該被刪除。

結果:

COL_1 COL_2 COL_3 COL_4 NUM_1 NUM_2 NUM_3 NUM_4 
AD  TT  MD  TR  1  0  1  1 
AD  TT  MD  NaN  0  0  1  0 
+2

貌似@Psidom已經給了這個工作很好的破解,但我認爲更大的問題是,這看起來並不像一個有效的結構存儲您的數據。如果你有其他類似的操作你會想要做,我會考慮重組。 –

+0

'cols = [{'AD':2,'MD':3,'TR':4},...]'和'nums = [[0,0,1,1],... ]' –

回答

4

假設COL*列數與NUM*列一樣,你可以試試下面的方法矢量:

​​

enter image description here

+0

這很美!感謝您如此好地展示熊貓! –

+0

是的,「COL *」列的數量等於「NUM *」列。謝謝! – user7379562

+0

偉大的@Psidom謝謝你的解決方案 –