我有一个大DataFrame
有许多重复值。唯一值存储在List1
。我想做以下事情:
- 选择包含列表中存在的每个值的几行。
- 迭代选定的行并计算非 NaN 元素的数量
- 如果计数值大于或等于2,则将其存储到新列表中。中的每个组件
List1
应添加到eq_list
除非all“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)
我希望我已经把这个问题说清楚了。