python-3.x - 如果值存在,则数据框过滤器,否则返回所有
问题描述
如果值匹配,我想过滤 DataFrame,否则返回每一行。当我尝试在代码中使用 .isin 进行过滤时,它返回空 DataFrame。
My DataFrame:df
a_column b_column
1 3
2 4
3 5
4 9
如果我尝试使用以下代码进行过滤,
df=df[df['b_column'].isin([7])]
df=df[df['b_column']==([7])]
它返回空的DataFrame,如果我用7过滤b_column,我想要的输出是,
My DataFrame:df
a_column b_column
1 3
2 4
3 5
4 9
提前致谢。
解决方案
如果至少有一个by ,则可以将标量布尔 by |
for bitwise OR
with statement for test 链接起来:if-else
True
Series.any
m = df['b_column'].isin([7])
b = False if m.any() else True
df1 = df[m | b]
print (df1)
a_column b_column
0 1 3
1 2 4
2 3 5
3 4 9
m = df['b_column'].isin([3,4])
b = False if m.any() else True
df1 = df[m | b]
print (df1)
a_column b_column
0 1 3
1 2 4
推荐阅读
- javascript - 如何通过验证形成提交显示模式弹出窗口
- windows - 如何从一组其他更长的字符串中删除不同的字符串?
- ansible - ansible 循环遍历结果并查找文件
- visual-studio - Visual Studio 调试模式下奇怪的内存内容显示
- cordova - 在通过 Wi-Fi 运行 iOS 13.1.2 的 iPad 上审核时,我的应用程序因应用程序中的错误而被拒绝
- python - 网页抓取时 BeautifulSoup 停止而没有抛出错误
- sql - 我无法在我的 SQL 语句中解决此错误
- html - 如何使用前/后元素切片背景颜色
- jquery - 在jquery中的href中删除#之后的所有内容
- reactjs - 处理导航项目选择的最佳方法是什么?