如何选择包含大于阈值的所有行?

斯蒂芬·福克

请求很简单:我想选择所有包含大于阈值的行。

如果我这样做:

df[(df > threshold)]

我得到了这些行,但低于该阈值的值只是NaN如何避免选择这些行?

米拉杜洛

绝对不需要双重转置-您只需any沿'columns'布尔矩阵的列索引(提供1或)进行调用

df[(df > threshold).any(1)]

>>> df = pd.DataFrame(np.random.randint(0, 100, 50).reshape(5, 10))

>>> df

    0   1   2   3   4   5   6   7   8   9
0  45  53  89  63  62  96  29  56  42   6
1   0  74  41  97  45  46  38  39   0  49
2  37   2  55  68  16  14  93  14  71  84
3  67  45  79  75  27  94  46  43   7  40
4  61  65  73  60  67  83  32  77  33  96

>>> df[(df > 95).any(1)]

    0   1   2   3   4   5   6   7   8   9
0  45  53  89  63  62  96  29  56  42   6
1   0  74  41  97  45  46  38  39   0  49
4  61  65  73  60  67  83  32  77  33  96

像您的自我回答一样进行移调只是不必要的性能损失。

df = pd.DataFrame(np.random.randint(0, 100, 10**8).reshape(10**4, 10**4))

# standard way
%timeit df[(df > 95).any(1)]
1 loop, best of 3: 8.48 s per loop

# transposing
%timeit df[df.T[(df.T > 95)].any()]
1 loop, best of 3: 13 s per loop

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Postgres:选择字段计数大于1的所有行

选择X列的总和大于或等于Y的所有行

在 R 中,如何选择/子集值大于某个值的站点,然后保留包含小于所选值的值的所有站点?

返回计数大于阈值的所有仓的数据索引

选择“阈值”之间的所有文件

如何在单元格数组中查找行数大于阈值的所有单元格数组?

在熊猫中,如何查找累计总和大于阈值的行/索引?

如何仅选择值超过阈值的行?

选择所有大于某个值的列

查找所有乘积大于阈值的列表的所有笛卡尔乘积的树

选择两列包含值组合的所有行

TSQL - 选择包含列表中所有项目的行

如何从表中选择所有行?

SQL-选择所有行并仅计算大于1的列

如何根据 R 中的预定义阈值比较所有行的值后进行标记?

MySQL选择总和大于阈值的记录

如何选择所有包含名字和姓氏的结果?

SQL:分组并计数,但仅当所有记录均大于阈值时

获取列表列表中大于某个阈值的所有元素的列表

仅当另一列包含特定值时,如何选择所有行用于特定ID

如何选择“年份”字段中至少有2行大于0的“分组”行?

如何使用索引查找所有大于

如何查找所有大小大于...的文件?

子集行的列值大于阈值

JQuery - 如何选择包含某个属性但排除所有更深的后代的所有子级?

如何从包含小数的列中选择具有整数的行

如何从表中的所有列中选择所有重复行的所有出现?

如何选择包含大于指定数字的值的范围?

如何检查矩阵的任何行是否包含所有“ A”?