Python 如何基于阈值以上的任何列创建数据帧

Python 如何基于阈值以上的任何列创建数据帧,python,pandas,Python,Pandas,我想基于其他数据帧创建新的数据帧。比如说 column1 column2 column3 column4 a 10 3 2 b 4 4 3 c 2 3 6 d 3 8 2 如果任何列大于5,我需要输出,如下所示 column1 column2 colu

我想基于其他数据帧创建新的数据帧。比如说

column1    column2   column3   column4
   a          10        3         2
   b           4        4         3
   c           2        3         6
   d           3        8         2
如果任何列大于5,我需要输出,如下所示

column1    column2   column3   column4
   a          10        3         2
   c           2        3         6
   d           3        8         2

谢谢

您可以使用
任何
进行检查:

df[(df[['column2', 'column3', 'column4']] > 5).any(axis=1)]
输出:

column1    column2   column3   column4
      a         10         3         2
      c          2         3         6
      d          3         8         2
  column1  column2  column3  column4
0       a       10        3        2
2       c        2        3        6
3       d        3        8        2
试试看:

threshold = 5
df1[(df1.select_dtypes(include='number') > threshold).any(axis = 1)]
您也可以更改阈值。

您还可以使用:

df.loc[df.set_index('column1').gt(5).any(1).values]
如果在
column1
之后有大量列,并且不想逐个手动键入所有列名,则此选项尤其有用

输出:

column1    column2   column3   column4
      a         10         3         2
      c          2         3         6
      d          3         8         2
  column1  column2  column3  column4
0       a       10        3        2
2       c        2        3        6
3       d        3        8        2