У меня есть следующий фрейм данных.
A1 A2 A3 B1 B2 B3 C1 C2 C3
0 0 0 1 1 1 1 0 1 1
1 0 0 0 0 0 0 0 0 0
2 1 1 1 0 1 1 1 1 1
Я хочу отфильтровать его по группам столбцов и появлению ненулевых значений. Я написал следующее, чтобы добиться этого.
import pandas as pd
df = pd.read_csv("TEST_TABLE.txt", sep='\t')
print(df)
group1 = ['A1','A2','A3']
group2 = ['B1','B2','B3']
group3 = ['C1','C2','C3']
df2 = df[(df[group1] !=0).any(axis=1) & (df[group2] !=0).any(axis=1) & (df[group3] !=0).any(axis=1)]
print(df2)
Вывод был идеальным:
A1 A2 A3 B1 B2 B3 C1 C2 C3
0 0 0 1 1 1 1 0 1 1
2 1 1 1 0 1 1 1 1 1
Теперь, как изменить код так, чтобы я мог наложить пороговое значение для «любого». то есть сохраните строки для каждой группы, по крайней мере, с 2 ненулевыми значениями. Следовательно, окончательный вывод даст
A1 A2 A3 B1 B2 B3 C1 C2 C3
2 1 1 1 0 1 1 1 1 1
Заранее спасибо.