栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pandas 07. 对缺失值的处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas 07. 对缺失值的处理

Pandas 对缺失值的处理 Pandas使用这些函数处理缺失值:
  • isnull和notnull:检测是否是空值,可用于d和series

  • dropna:丢弃、删除缺失值

    • axis:删除行还是列,{0or’index’,1or’columns’),default0

    • how:如果等于any则任何值为空都删除,如果等于al侧所有值都为空才删除

    • inplace:如果为True则修改当前df,否则返回新的df

  • fillna:填充空值

    • value:用于填充的值,可以是单个值,或者字典(key是列名,value是值)

    • method:等于fill使用前一个不为空的值填充forword fill;等于bfill使用后一个不为空的值填充backword fill

    • axis:按行还是列填充,{0 or ‘index’,1 or ‘columns’}

    • inplace:如果为True则修改当前df,否则返回新的df

案例说明 清洗从Excel里读取到的数据:

df =

Unnamed: 0姓名学科成绩
0NaN小明语文85.0
1NaNNaN数学89.0
2NaNNaN英语98.0
3NaNNaNNaNNaN
4NaN小红语文NaN
5NaNNaN数学92.0
6NaNNaN英语96.0
7NaNNaNNaNNaN
8NaN小刚语文89.0
9NaNNaN数学98.0
10NaNNaN英语86.0
步骤如下:
  1. 判断是不是nan
is_na = df.isna()
not_na = df.notna()
# print(is_na)
# print(not_na)
  1. 删除全是nan的行和列
df.dropna(axis=0, how="all", inplace=True)
df.dropna(axis=1, how="all", inplace=True)
# print(df)
  1. 将姓名列nan填充
df["姓名"].fillna(axis=0, method="ffill", limit=2, inplace=True)
# print(df)
  1. 将成绩列nan填充0
df["成绩"].fillna(0, inplace=True)
print(df)
  1. 将数据保存到Excel
df.to_excel("./ml-latest-small/demo4.xlsx", sheet_name="Sheet1", index=False)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935234.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号