在Pandas中的多个条件下过滤DataFrame

时间:2018-01-17 01:48:09

标签: python pandas

对于我的班级,我需要找到虹膜数据集中4.5到6之间的萼片长度。 确切的规格是“选择萼片长度大于4.5但小于6”的行 给定的代码(答案应该是这种形式)是

for (int i = 0; i < objects.size(); i++) {
    for (int j = i+1; j < objects.size(); j++) {

        if (dist(objs[i], objs[j]) < 100) {
            // Do something.
        }
    }
}

我所拥有的是:

    subset=data[data['petal width (cm)']>2]

我遇到的主要问题是获得正确的语法。在当前状态下,我收到错误说明

    subset=data[data[(['sepal length (cm)']>4.5 and ['sepal length (cm)']<6)]]

如果更改为

    TypeError: '>' not supported between instances of 'list' and 'float'

我收到错误

    subset=data[data[(data['petal width (cm)']>4.5 and data['petal width (cm)']<6)]]

谢谢

1 个答案:

答案 0 :(得分:0)

subset = data[(data['sepal length (cm)'] > 4.5) & (data['sepal length (cm)'] < 6)]

由@cmaher提供