我想基于多个列值从行中提取数据,但是我的代码似乎不起作用。
我想创建一个新的数据集,其中仅包含那些满足基于列值条件的行。例如。 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);
答案 0 :(得分:1)
尝试一下。您应该交换|对于&如果您希望它满足所有条件。 还要仔细检查括号。
Xx=data[(data['C03']== 1) & (data['I10.I15'] == 1) & (data['C10'] == 1) & (data['D80.D89'] == 0)]