Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以编程方式在多列上使用单个条件筛选数据帧_Python_Python 3.x_Pandas - Fatal编程技术网

Python 以编程方式在多列上使用单个条件筛选数据帧

Python 以编程方式在多列上使用单个条件筛选数据帧,python,python-3.x,pandas,Python,Python 3.x,Pandas,我尝试在多个列上过滤具有相同条件的数据帧 这可以通过以下操作实现: >>>df=pd.DataFrame{ A1:[1,2,5,1,2], B1:[0,2,0,4,1],, A2:[2,3,5,1,5], B2:[4,1,6,2,1] } >>>df_filtered=df[df['A1']>3 | df['A2']>3] >>>df_过滤 A1 B1 A2 B2 2 5 0 5 6 4 2 1 5 1 但是,我希望能够从预定义变量以编程方式修复列,而不是手动修复

我尝试在多个列上过滤具有相同条件的数据帧

这可以通过以下操作实现:

>>>df=pd.DataFrame{ A1:[1,2,5,1,2], B1:[0,2,0,4,1],, A2:[2,3,5,1,5], B2:[4,1,6,2,1] } >>>df_filtered=df[df['A1']>3 | df['A2']>3] >>>df_过滤 A1 B1 A2 B2 2 5 0 5 6 4 2 1 5 1 但是,我希望能够从预定义变量以编程方式修复列,而不是手动修复,如本例所示:

cols=['A1','A2'] df_filtered=df[df[cols]。任意>3]
除了上面的代码显然不起作用之外。

然后我们让它起作用:-

cols = ['A1', 'A2']
df[df[cols].gt(3).any(axis = 1)]
Out[556]: 
   A1  B1  A2  B2
2   5   0   5   6
4   2   1   5   1

然后我们让它工作:-

cols = ['A1', 'A2']
df[df[cols].gt(3).any(axis = 1)]
Out[556]: 
   A1  B1  A2  B2
2   5   0   5   6
4   2   1   5   1

看起来通过执行以下操作是可能的:

>>>df_filtered=df[df[cols]>3.任意轴=1] >>>df_过滤 A1 B1 A2 B2 2 5 0 5 6 4 2 1 5 1
这个答案是在文本发布自己的答案时编辑的,但我还是决定发布它,因为它提供了一个稍微不同的语法

>>>df_filtered=df[df[cols]>3.任意轴=1] >>>df_过滤 A1 B1 A2 B2 2 5 0 5 6 4 2 1 5 1 这个答案是在文本发布自己的答案时编辑的,但我还是决定发布它,因为它提供了稍微不同的语法