Pandas如何快速定位数据集中的缺失值?
【摘要】 大家好,我是丁小杰。相信大家处理数据时,都会先观察数据的结构和缺失值的情况,今天就和大家分享几种快速查看数据集行列缺失值的方法,如果没记住的话,建议收藏备用。 isnull() & sum() 统计法isnull() 与 sum() 方法搭配使用能够定位行列间的缺失值。看几个例子。先创建一个示例 DataFrame。>>> import pandas as pd>>> df = pd.Dat...
大家好,我是丁小杰。
相信大家处理数据时,都会先观察数据的结构和缺失值的情况,今天就和大家分享几种快速查看数据集行列缺失值的方法,如果没记住的话,建议收藏备用。
isnull() & sum() 统计法
isnull()
与 sum()
方法搭配使用能够定位行列间的缺失值。看几个例子。
先创建一个示例 DataFrame
。
>>> import pandas as pd
>>> df = pd.DataFrame(
{'a': [1, 2, 3, None],
'b': [3, 4, None, None],
'c': [None, 6, 7, 8]})
>>> df
a b c
0 1.0 3.0 NaN
1 2.0 NaN 6.0
2 3.0 NaN 7.0
3 NaN 6.0 8.0
1.输出 DataFrame
所有缺失值数量。
>>> df.isnull().sum().sum()
4
2.分别输出每一列的缺失值数量。
>>> df.isnull().sum()
a 1
b 2
c 1
dtype: int64
3.分别输出每一行的缺失值数量。
>>> df.isnull().sum(axis=1)
0 1
1 0
2 1
3 2
dtype: int64
4.输出指定列缺失值数量
>>> df['b'].isnull().sum()
2
5.输出指定行缺失值数量
>>> df.iloc[3].isnull().sum()
2
shape + count() 统计法
- shape:DataFrame 的形状。(行数, 列数)。
- count():对非缺失值进行计数。
1.输出 DataFrame
所有缺失值数量。
>>> (df.shape[0] - df.count()).sum()
4
2.分别输出每一列的缺失值数量。
>>> df.shape[0] - df.count()
a 1
b 2
c 1
dtype: int64
3.分别输出每一行的缺失值数量。
>>> df.shape[1] - df.count(axis=1)
0 1
1 0
2 1
3 2
dtype: int64
4.输出指定列缺失值数量
>>> df.shape[0] - df['b'].count()
2
5.输出指定行缺失值数量
>>> df.shape[1] - df.iloc[3].count()
2
定位缺失值位置
通过下面的方式可以快速定位缺失值的行列信息。
for col in df.columns:
if df[col].count() != len(df):
row = df[df[col].isnull().values==True].index[0]
print(f'第{row}行,第{col}列为缺失值')
'''
第3行,第a列为缺失值
第2行,第b列为缺失值
第0行,第c列为缺失值
这就是今天要分享的内容,建议不要死记硬背,一步步的测试验证才能够真正的融会贯通。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)