我有一個很大的DataFrame
與許多重複值。唯一值存儲在List1
中。我想執行以下操作:如何計算根據條件選擇的一組行中元素的數量?
- 選擇幾行包含列表中的每個值。
- 迭代選定的行並計算非NaN元素的數量
- 如果計數值大於或等於2,則將其存儲在新列表中。
List1
中的每個組件只能在全部爲的情況下添加到eq_list
'eq'的計數值> = 2。
一個簡化的樣品輸入:
List1 = ['A','B','C','D','E','F','G','H','X','Y','Z']
Sample DF 'ABC':
EQ1 EQ2 EQ3
0 A NaN NaN
1 X Y NaN
2 A X C
3 D E F
4 G H B
所需的輸出:
eq_list = ['B','C','D','E','F','G','H','X','Y']
小碼我想:
for eq in List1:
MCS=ABC.loc[MCS_old[:] ==eq]
MCS = MCS.reset_index(drop=True)
for index_new in range(0,len(MCS)-1):
if int(MCS.iloc[[index_new]].count(axis=1))>2:
eq_list.append(raw_input(eq))
print(eq_list)
我希望我所做的問題明確。
我是正確的假設,'eq_list'是一套獨特的信嗎? –
'eq_list'是最終的輸出並且是'List1'的子集,它沒有重複。所以,是的。我想我在回答線程 – controlfreak
PLs的最後一條評論中解釋得更好 –