我是pythonpanda的新手。这个数据框是一个实验室练习的一部分。
以下是数据框架。结果有20行,384列,我想删除所有值为 "No "的列,并创建这个数据框的子集。
country almond angelica anise anise_seed apple apple_brandy /
55620 Switzerland No No No No No No
55621 Switzerland Yes No No No Yes No
55622 Switzerland No No No No No No
55623 Switzerland No No No No No No
55624 Switzerland No No No No No No
55625 Switzerland No No No No No No
55626 Switzerland No No No No No No
55627 Switzerland No No No No No No
55628 Switzerland Yes No No No No No
我想删除所有值为 "No "的列,并创建一个没有这些列的数据框子集。从上面的数据集来看,只有列'杏仁'和'苹果'的值不是'No'。所以子集应该是这样的。
country almond apple
55620 Switzerland No No
55621 Switzerland Yes Yes
55622 Switzerland No No
55623 Switzerland No No
55624 Switzerland No No
55625 Switzerland No No
55626 Switzerland No No
55627 Switzerland No No
55628 Switzerland Yes No
首先检查 eq
中是否有至少一个匹配的值,然后测试 DataFrame.any
:
df = df.loc[:, df.ne('No').any()]
print (df)
country almond apple
55620 Switzerland No No
55621 Switzerland Yes Yes
55622 Switzerland No No
55623 Switzerland No No
55624 Switzerland No No
55625 Switzerland No No
55626 Switzerland No No
55627 Switzerland No No
55628 Switzerland Yes No