如何基于多列值提取行中的数据?

时间:2019-05-19 13:51:34

标签: python scikit-learn extract multiple-columns rows

我想基于多个列值从行中提取数据,但是我的代码似乎不起作用。

我想创建一个新的数据集,其中仅包含那些满足基于列值条件的行。例如。 I10.I15 = 1,C03 = 1,C10 = 1,D80.D89 = 0。因此,此子组应仅由满足所有这些条件的行组成。具体来说,我上面提到的一个案例应该包括大约267个案例。

我以为我可以用下面的代码解决这个问题,但是似乎它需要所有具有I10.I15 = 1的情况以及所有具有C03 = 1的情况,等等,而我只希望那些满足所有条件的人在一起的条件。

const allValues = ["111", "111", "111", "222", "111", "222"];
const removingValues = ["111", "111", "222"];

const map = new Map(removingValues.map(s => [s, 0]));
removingValues.forEach(s => map.set(s, map.get(s)+1));

const result = allValues.filter(s => {
    let i = map.get(s);
    return i && map.set(s, i-1);
});

console.log(result);

1 个答案:

答案 0 :(得分:1)

尝试一下。您应该交换|对于&如果您希望它满足所有条件。 还要仔细检查括号。

Xx=data[(data['C03']== 1) & (data['I10.I15'] == 1) & (data['C10'] == 1) & (data['D80.D89'] == 0)]