python - Python Pandas 数据框查找缺失值
问题描述
我正在尝试查找缺失值,然后删除缺失值。尝试在线查找数据,但似乎无法找到答案。
提取的数据框:
在df中,对于1981年和1982年,应该是'-',即缺失值。我想找到缺失值然后删除缺失值。
我使用了 df.isnull() 但在 1981 年和 1982 年,它被检测为“假”,这意味着有数据。但它应该是'-',因此被视为缺失值。
我在下面粘贴了我的代码。我错过了什么?
import pandas as pd
mydf = pd.read_excel('abc.xlsx', sep='\t')
df1 = mydf.set_index('Variables')
df = df1[0:10]
print(df)
print(df.isnull())
解决方案
这个问题有两点:找出哪些列有缺失值并删除这些值。
查找数据框中的缺失值df
missing = df.isnull().sum()
print(missing)
要删除这些缺失值,除了@jezrael 的考虑之外,如果这没有帮助,我建议您使用dropna
:
删除缺少所有元素的行。
df.dropna(how='all')
删除至少缺少一个元素的列。
df.dropna(axis='columns')
推荐阅读
- c++ - c++ Windows 32bit malloc()打开多个线程时返回NULL
- java - 从 Spring Boot 2.4.x 更新到 2.5.x 后 Jackson 模块未注册
- vue.js - 使用 vuex 操作发送的数据返回未定义
- gradle - 用于分析依赖项的 intellij gradle 插件
- javascript - Javascript初学者 - 修改全局常量的函数
- node.js - 节点计划不适用于快速应用程序
- javascript - 我应该如何完成我的 MERN 登录系统
- reactjs - 如何通过在 URL.I18next 中添加语言环境进行翻译
- javascript - 从头开始分层树图,没有聚合
- azure - 构建特定阶段后的 Azure 发布管道