python - pandas:如果 X 列数大于一个数字,如何选择行?

标签 python pandas

我可以使用 data[data[data > 10].any(1)] 选择任何列大于 10 的行。如果我想选择任何 5 的行怎么办列大于 10?

最佳答案

以下应该适合您:

data[data[data > 10].count(axis=1) > 5]

例子:

In [66]:

df = pd.DataFrame({'a':randn(10), 'b':randn(10), 'c':randn(10), 'd':randn(10), 'e':randn(10), 'f':randn(10), 'g':randn(10)})
df
Out[66]:
          a         b         c         d         e         f         g
0 -2.617089 -0.882830  0.678067 -0.517271  0.451493  1.233842  2.039522
1 -0.099578  0.316943  0.707360  0.408488 -0.127735  0.587747 -0.472138
2 -0.717133  0.804504  1.290014  0.091469 -0.311926  0.493378  0.337818
3  0.443820  1.148113  0.437646  0.098209 -0.072878  1.741442  1.954516
4  1.674700 -1.155307 -0.464377 -1.403315 -2.009475 -0.358216  0.430474
5 -0.243898  0.457013 -1.303361 -0.259384 -0.618927 -0.115834  0.062917
6 -1.731918  0.582375  0.007224 -0.336893 -0.092084  0.724403  0.622719
7  0.377062 -0.475285 -1.343725  0.572877  0.613228  0.573816  0.854494
8  0.063625 -0.484536  0.093442 -1.015500  1.062488 -1.818364 -1.139001
9 -0.349160  0.731415  0.418029 -0.341685 -0.421163  0.105534  0.642873

[10 rows x 7 columns]
In [85]:

df[df > 1.0]
Out[85]:
        a         b         c   d         e         f         g
0     NaN       NaN       NaN NaN       NaN  1.233842  2.039522
1     NaN       NaN       NaN NaN       NaN       NaN       NaN
2     NaN       NaN  1.290014 NaN       NaN       NaN       NaN
3     NaN  1.148113       NaN NaN       NaN  1.741442  1.954516
4  1.6747       NaN       NaN NaN       NaN       NaN       NaN
5     NaN       NaN       NaN NaN       NaN       NaN       NaN
6     NaN       NaN       NaN NaN       NaN       NaN       NaN
7     NaN       NaN       NaN NaN       NaN       NaN       NaN
8     NaN       NaN       NaN NaN  1.062488       NaN       NaN
9     NaN       NaN       NaN NaN       NaN       NaN       NaN

[10 rows x 7 columns]
In [86]:

df[df[df > 1.0].count(axis=1) > 2]

Out[86]:
         a         b         c         d         e         f         g
3  0.44382  1.148113  0.437646  0.098209 -0.072878  1.741442  1.954516

[1 rows x 7 columns]

关于python - pandas:如果 X 列数大于一个数字,如何选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781253/

相关文章:

python - 如何从 CSV 文件子集创建自定义 DataFrame

python:比较不同日期类型的数据

if-statement - 在 pandas 中使用 If/Truth 语句

python - Pandas/Python - 数据帧和字典之间的多重条件匹配

python - 根据另一个数据帧的值将数据帧拆分为多个数据帧

python - Cythonise 一个 pandas 循环

python - Pandas 中 Dataframe 的堆积条形图

Python在html标签之间抓取文本延续主题

python - 如何从 Python 中的字符串末尾删除空格?

shell - Python 脚本通过 os.system() 退出代码 256 而不是 1 调用 shell 脚本。为什么?