python - 如何从满足条件A或B的pandas DataFrame中选择数据?
问题描述
我看到了很好的帖子,完美地回答了我的标题问题(包括这个),但我处于更具体的情况。
假设我有以下非常简单的 DataFrame
df.head()
param accuracy
0 None 98
1 4.0 100
2 5.0 95
3 6.0 87
4 7.0 56
5 8.0 45
6 9.0 59
7 None 96
...
我想将我的 DataFrame 限制为 param 为 None 或 4 的数据。我尝试了以下技术
params = [None, 4]
df = df[df['param'].isin(params)]
它只选择参数为 4 的数据。
这篇文章展示了如何使用isnull()
方法过滤 None 值,但它不兼容isin()
......因此我的问题。
解决方案
正如@IMB 所指出的,一个解决方案是做params = ["None", 4]
而不是params = [None, 4]
.
我的数据框最初包含 NaN,我用df = df.fillna('None')
. 因此是字符串类型。
推荐阅读
- javascript - 不要将数字或单词替换为下划线,但要保留破折号并删除其周围的空格
- python - 如何使用 python 在谷歌驱动器中创建目录?
- php - 表单产生 POST 响应,但在 PHP 中显示为未提交或无效
- c# - 为什么 SHA256Managed().ComputeHash() 返回的哈希值与外部工具产生的哈希值不同?
- php - 如何从 Laravel Nova 的文件下载中删除不需要的换行符?
- c - 如何在 C 中读取包含 EOF 字符的非文本文件?
- php - Laravel - 刀片;如何在@foreach 循环中循环遍历具有不同顶级标题的嵌套 json 对象
- string - 在 Smalltalk 中查找字符串末尾的数字的方法
- xaml - Xamarin 表单选项卡式页面触发器属性不起作用
- c# - 通过电报机器人保存电话号码