python - 熊猫,查找和删除行
问题描述
一直在寻找一段时间以了解如何在没有任何成功的情况下完成这项基本任务,这很奇怪。
我有一个数据集,其中一些行包含“-”,我不知道这些值位于哪些列下。
如何在整个数据集(包括所有列)中搜索“-”并删除包含该值的行?
谢谢你!
解决方案
df = pd.DataFrame([['-', 2, '-', 0],
[3, 4, '-', 1],
['-', '-', '-', 5],
['-', 3, '-', 4]],
columns=list('ABCD'))
然后 df 看起来像
df =
A B C D
0 - 2 - 0
1 3 4 - 1
2 - - - 5
3 - 3 - 4
您可以将所有 '-' 替换为具有df.replace()
功能的 nan 值。你可以help(df.replace)
做 了解更多
df = df.replace('-', np.nan)
df=
A B C D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
3 NaN 3.0 NaN 4
要删除带有这些“-”的列,您可以使用df.dropna(how='all')
推荐阅读
- azure - 使用 SPN 的 CICD 身份验证
- python - 在 Python 中可视化类和方法的关系
- python - python django开票程序,用外键链接并保存两个模型
- python - 学习 Python 2 Codeacademy,“超市的一天”
- javascript - 在回调中访问变量?
- javascript - jQuery将函数参数或变量添加到id选择器中
- python - numpy where - 如何在整列上设置条件?
- mysql - NiFi PutDatabaseRecord 处理器面临错误,无法创建 PoolableConnectionFactory(无法创建与数据库服务器的连接)
- python - Flask:在多个路线中使用文件
- asp.net-core - 无法替换 ASP.Core 3 中的默认 JSON 合同解析器