当前位置: 首页 > 面试题库 >

Python Pandas-如何通过一个值过滤多列

薄龙光
2023-03-14
问题内容

我正在做熊猫分析。
我的表有700万行* 30列。单元格值的范围从-1到3随机。现在,我想根据列的值过滤掉行。

我了解如何根据多个条件进行选择,写下条件并通过“&”“ |”组合。
但是我有30列要过滤,并按相同的值过滤。例如,需要选择最后12列的值等于-1

df.iloc[:,-12:]==-1

上面的代码给了我一个布尔值。我需要实际的数据框。
这里的逻辑是“或”,表示如果任何列的值为-1,则需要选择该行。另外,很高兴知道我是否需要“和”,所有列的值都为-1?
非常感谢


问题答案:

对于这种OR情况,请使用DF.anyTrue如果有 任何
元素True沿特定轴返回,则返回):

df[(df.iloc[:,-12:] == -1).any(axis=1)]

对于这种AND情况,请使用DF.allTrue如果 所有
元素都True沿特定轴返回,则返回):

df[(df.iloc[:,-12:] == -1).all(axis=1)]


 类似资料:
  • 我试图子集一个熊猫DataFrame在python基于两个逻辑语句 即。 但是第3行的语法无效。 有没有一种方法可以在一行中完成?

  • 问题内容: 是否可以通过多个值过滤对象数组? 例如,在下面的示例中,我可以按term_ids 5和6进行过滤,然后同时键入car吗? 如果可以轻松使用,肯定可以使用库。 问题答案: 您可以使用Array.filter

  • 问题内容: 我有一个MySql表,我想查询其中 成对 的列在特定集中的行。例如,假设我的表格如下所示: 现在,我希望提取其中 (f1,f2) 对为(’a’,30)或(’b’,20)的行,即行2,3,4。我也希望使用“ IN”样式的过滤器来完成此操作,因为我可能有很多对要提取。如果我尝试类似的方法: 我得到IN子句中为f1和f2指定的值的笛卡尔积,即具有f1 =’a’或’b’的所有可能组合的行,以及

  • 问题内容: 我想使用in角度,并希望过滤多个值,如果它具有值之一,则应该显示它。 我有这样的结构: 具有属性的对象,我要过滤和。 我知道我可以做,但是如果我想动态过滤它该怎么办。例如 如何设置的,当我有我有过滤器类型的数组? 我可以将其构造为字符串,然后执行一个操作,但我不想使用eval()… 问题答案: 我只是创建一个自定义过滤器。他们并不难。 模板: *链接 *编辑 在这里:创建角度过滤器 更

  • 问题内容: 我有一个像这样的数组: 现在,我想按某种条件过滤该数组,只保留值等于2的元素,并删除值不等于2的所有元素。 所以我的预期结果数组将是: 注意:我想保留原始数组中的键。 如何使用PHP做到这一点?有内置功能吗? 问题答案:

  • 问题内容: 我有一个过滤器linkifyStuff,其中需要使用其他过滤器处理一些变量。我无法弄清楚从另一个调用一个过滤器的语法。 我了解过滤器链接-这不是我想要的。我想将过滤器应用于linkifyStuff过滤器中的局部变量,而不是其输入或输出。 我希望像下面这样工作,但是$ filter(’filtername’)显然不是正确的语法。 我可以为sanitizeStuff和sanitizeStu