python - 根据列中的值过滤数据框的行
问题描述
我想过滤包含小于 10 的值的数据帧的行。
import numpy as np
import pandas as pd
from pprint import pprint
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
df = df[df <10]
给,
A B C D
0 5.0 NaN NaN NaN
1 NaN NaN NaN NaN
2 0.0 NaN 6.0 NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
5 6.0 NaN NaN NaN
6 NaN NaN NaN NaN
7 NaN NaN NaN 7.0
8 NaN NaN NaN NaN
9 NaN NaN NaN NaN
预期的:
0 5 57 87 95
2 0 80 6 82
5 6 33 74 75
7 71 44 60 7
关于如何获得预期结果的任何建议?
解决方案
采用:
np.random.seed(21)
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
如果要按条件的任何值进行过滤,则必须添加DataFrame.any
至少一个True
boolean以进行测试DataFrame
:
df1 = df[(df < 10).any(axis=1)]
print (df1)
A B C D
0 73 79 56 4
5 5 18 70 50
7 5 80 35 91
9 6 84 90 28
print (df < 10)
A B C D
0 False False False True
1 False False False False
2 False False False False
3 False False False False
4 False False False False
5 True False False False
6 False False False False
7 True False False False
8 False False False False
9 True False False False
print ((df < 10).any(axis=1))
0 True
1 False
2 False
3 False
4 False
5 True
6 False
7 True
8 False
9 True
dtype: bool
推荐阅读
- square-connect - 需要帮助使用 Square API 设置和销售剧院门票
- javascript - 如何在html表单中自动填充输入字段
- ios - 在 iOS 中分析文本到语音的字符串
- android - FragmentHostCallback 是在哪里创建的?
- c++ - 无法访问静态函数内部的私有变量
- reactjs - 将jsx文件转换为tsx后Reactjs“错误:ENOENT:没有这样的文件或目录,打开..”
- python-3.x - 如何将一个盒子形状的图层添加到 altair 图中?
- c# - 在 Asp.Net MVC 中执行原始 SqlQuery
- c# - EntityFunction.DiffDays 原因 此函数只能从 LINQ to Entities 调用
- c++ - wxWidgets 是否有与 Qt 的 QWebChannel 等价的功能?