【发布时间】:2019-12-17 11:15:47
【问题描述】:
我正在尝试过滤数据框并仅保留列列表优于 50M 的行
Name USD GPB DNR
0 jsk 0 0 154156151
1 psg 0 5444 0
2 om 0 51541477 0
3 barca 0 0 0
4 real 0 93636 55115
我能做什么,但它只用一列过滤
df_sup50M = df_sup50M[df_sup50M.USD >= 5000000]
预期输出:
Name USD GPB DNR
0 jsk 0 0 154156151
1 om 0 51541477 0
【问题讨论】:
-
您告诉它只在一列上设置子集。如果您想对多个列进行子集化,请执行此操作。
-
@ifly6 因为当我尝试时:
df_sup50M = df_sup50M[df_sup50M.USD >= 5000000 or df_sup50M.GPB >= 5000000]我得到一个错误 -
语法是
df[(df.col > blah) | (df.col1 > blah) | (df.col3 > blah)],中间dfs依次执行每个子集命令,或者链接df.query(condition)语句
标签: python pandas dataframe filter