Python,Pandas-如何基于条件多个列达到一定值来搜索行?

时间:2019-02-15 22:49:43

标签: python pandas

我有一个77列的数据集。其中24个是表示百分比的数据。

我知道,如果我对一栏感兴趣,我可以做

data[data.iloc[:,53] > 30]

这将返回该列大于30的所有行。要将其扩展到多列,我知道的唯一方法大概是

data[(data.iloc[:,53] > 30) & (data.iloc[:,65] > 30)]

,依此类推,针对每一列。

但是我想

  1. 计算大于30%的列数
  2. 仅返回计数大于3的行。

执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您正在尝试根据一组不同列上方的条件选择行。

l是要对其施加条件的列的索引列表。

您可以直接使用data.iloc[:,l]选择想要的列。

在您的情况下,它给出:

l = [53, 65]
data[(data.iloc[:,l]>30).sum(1)>3]