python - 根据列中的多个条件删除行(使用 Python)
问题描述
我有一个数据集 df,如果列包含某个值,我希望从中删除行
value pod
1 hi
2 ok
3 no
4 sure
期望的输出:
value pod
2 ok
4 sure
如果 pod 列包含单词“hi”或单词“no”,我希望删除该行
这就是我正在做的
df1 = df.drop(df.index[df['pod'] == 'hi', 'no'], inplace = True)
我不断收到此错误:
试图在 DataFrame 中的切片副本上设置一个值
我还在研究这个,任何建议表示赞赏
解决方案
我相信你应该使用isin
:
df1 = df[~df['pod'].isin(['hi','no']) ]
print(df1)
输出:
value pod
1 2 ok
3 4 sure
另一方面,请看以下内容:
df.drop(df.index[df['pod'] == 'hi', 'no'], inplace = True)
如果要工作,则inplace=True
强制drop
命令就地工作,然后返回None
。所以
df1 = df.drop(df.index[df['pod'] == 'hi', 'no'], inplace = True)
这意味着那df1
不是None
数据框。
推荐阅读
- php - PHP 在缓存标头更改且内容已过期时获取新内容
- python-3.x - argparse 添加选项字符串
- javascript - 创建 ES6 类的实例后,我可以立即将实例绑定到非静态方法吗?
- java - 等待 CompletableFuture 完成,然后返回不同的值?
- google-cloud-platform - Stackdriver 警报“减少”条件失火
- c++ - C++ 随机幂序列的最后一位
- c# - VSTO MailItem.Recipients 在 C# 中检索电子邮件地址
- r - 使用 ggplot 创建具有 x 和 y 变量的条形图时遇到问题
- python - 使用 Python Locust 进行负载测试时,reqs/sec 不正确
- css - 当浏览器不支持功能查询时究竟会发生什么?