欢迎来到科站长!

python

当前位置: 主页 > 脚本专栏 > python

pandas数据缺失的两种处理办法

时间:2024-12-31 09:54:15|栏目:python|点击:

1.为NaN数据的处理

1.判断这列有没有NaN

1
2
has_nan = df['age'].isnull().any()
print(has_nan)

或者直接在控制台根据数据进行判断

在这里插入图片描述

2.处理方式

在这里插入图片描述

假设我 操作的是original_publication_year这一列,如何操作才能得到过滤后的显示样式

在这里插入图片描述

处理方式1:只考虑单列

1
df2 = df[pd.notnull(df["original_publication_year"])

这行代码的目的是 去除 original_publication_year 列中含有 NaN 值的行,并生成一个新的 DataFrame(df2),包含了所有 original_publication_year 列中不含 NaN 值的行。

3. df["original_publication_year"] 是获取 df 数据框中的 original_publication_year 这一列。

4. pd.notnull(df["original_publication_year")用于检查数据中的每个元素是否不是 NaN。返回一个布尔值的 Series.
True 的行会被保留;
False 的行会被排除(Book2何Book4被去除)。

5. 返回一个所有 original_publication_year 列中不是NaN 的行新的DataFrame

处理方式2:删除NaN所在的行

1
dropna(axis=0,how='any',inplace=False)

any表示有就删,all表示全部是NaN才删
inplace表示是否进行原地修改

处理方式3:填充数据

1
2
mean_value = df["original_publication_year"].mean()  # 计算均值
df_filled=df["original_publication_year"].fillna(mean_value)

在这里插入图片描述

1
2
3
4
5
t.fillna(t.mean()) #填充均值
t["列名"]=t["列名"].fillna(t["列名"].mean())
#单独对某一列进行操作
t.fiallna(t.median()) #填充中值
t.fillna(0)

2:为0数据的处理

1
2
3
t[t==0]=np.nan # 赋值为NaN
# 当然并不是每次为0的数据都需要处理
# 计算平均值等情况,nan是不参与计算的,但是0会的

设置成NaN后用处理NaN的方法处理。


上一篇:暂无

栏    目:python

下一篇:Python使用PyQt5实现中英文切换功能

本文标题:pandas数据缺失的两种处理办法

本文地址:https://fushidao.cc/jiaobenzhuanlan/1573.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 科站长 版权所有冀ICP备14023439号