如何选择大于多索引Pandas数据帧中的值的单元格?

Rex*_*Rex 14 python pandas

试试1:

df[ df > 1.0 ]:这返回了所有细胞NAN.

Try2:

df.loc[ df > 1.0 ] :这回来了 KeyError: 0

df[df['A']> 1.0] :这有效 - 但我想将过滤条件应用于所有列.

Ana*_*mar 15

如果你正在尝试做的是选择其中的任何一列满足条件只有行,您可以使用DataFrame.any()axis=1(做行向分组).示例 -

In [3]: df
Out[3]:
   A  B  C
0  1  2  3
1  3  4  5
2  3  1  4

In [6]: df[(df <= 2).any(axis=1)]
Out[6]:
   A  B  C
0  1  2  3
2  3  1  4
Run Code Online (Sandbox Code Playgroud)

或者,如果您尝试过滤所有列满足条件的行,请使用.all()inplace of .any().示例all-

In [8]: df = pd.DataFrame([[1,2,3],[3,4,5],[3,1,4],[1,2,1]],columns=['A','B','C'])

In [9]: df
Out[9]:
   A  B  C
0  1  2  3
1  3  4  5
2  3  1  4
3  1  2  1

In [11]: df[(df <= 2).all(axis=1)]
Out[11]:
   A  B  C
3  1  2  1
Run Code Online (Sandbox Code Playgroud)

  • 这不能回答数据框具有多索引的问题. (5认同)