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