脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Pandas缺失值填充 df.fillna()的实现

Pandas缺失值填充 df.fillna()的实现

2022-07-24 17:36山茶花开时。 Python

本文主要介绍了Pandas缺失值填充 df.fillna()的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

df.fillna主要用来对缺失值进行填充,可以选择填充具体的数字,或者选择临近填充。

官方文档

DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

df.fillna(x)可以将缺失值填充为指定的值

import pandas as pd 
 
# 原数据
df = pd.DataFrame({"A":["a1","a1","a2","a2"],
                   "B":["b1","b2",None,"b2"],
                   "C":[1,2,3,4],
                   "D":[5,6,None,8],
                   "E":[5,None,7,8]
                   })
 
# 将缺失值填充为0
res1 = df.fillna(0)

结果展示

df

Pandas缺失值填充 df.fillna()的实现

res1

Pandas缺失值填充 df.fillna()的实现

# 常用的方法还有以下几个:
# 填充为0
df.fillna(0)
# 填充为指定字符
df.fillna("missing")
df.fillna("暂无")
df.fillna("待补充")
# 指定字段填充
df.E.fillna("暂无")
# 指定字段填充
df.E.fillna(0, inplace = True)
# 只替换第一个
df.fillna(0, limit = 1)
# 将不同列的缺失值替换为不同的值
values = {"A":0,"B":1,"C":2,"D":3}
df.fillna(value = values)

需要注意的是,如果想让填充马上生效,需要重新为df赋值或者传入参数inplace = True

有时候我们不能填入固定值,而是按照一定的方法填充,df.fillna()提供了一个method参数,可以指定以下几个方法:

pad/ffill:向前填充,使用前一个有效值填充,df.fillna(method=’ffill’)可以简写为df.ffill()

bfill/backfill:向后填充,使用后一个有效值填充,df.fillna(method=’bfill’)可以简写为df.bfill()

import pandas as pd 
 
# 原数据
df = pd.DataFrame({"A":["a1","a1","a2","a2"],
                   "B":["b1","b2",None,"b2"],
                   "C":[1,2,3,4],
                   "D":[5,6,None,8],
                   "E":[5,None,7,8]
                   })
 
# 取后一个有效值填充
res1 = df.fillna(method = "bfill")
 
# 取前一个有效值填充
res2 = df.fillna(method = "ffill")

结果展示

df

Pandas缺失值填充 df.fillna()的实现

res1

Pandas缺失值填充 df.fillna()的实现

res2

Pandas缺失值填充 df.fillna()的实现

除了取前后值,还可以取经过计算得到的值,比如常用的平均值填充法:

# 填充列的平均值
df.fillna(df.mean())
# 对指定列填充平均值
df.fillna(df.mean()["B":"D"])
# 另一种填充列的平均值的方法
df.where(pd.notna(df),df.mean(),axis = "columns")

缺失值的填充的另一思路是使用替换方法df.replace():

# 将指定列的空值替换成指定值
import pandas as pd 
import numpy as np
# 原数据
df = pd.DataFrame({"A":["a1","a1","a2","a2"],
                   "B":["b1","b2",None,"b2"],
                   "C":[1,2,3,4],
                   "D":[5,6,None,8],
                   "E":[5,None,7,8]
                   })
df.replace({"B":{np.nan:"Hudas"}})

结果展示

Pandas缺失值填充 df.fillna()的实现

Pandas缺失值填充 df.fillna()的实现

到此这篇关于Pandas缺失值填充 df.fillna()的实现的文章就介绍到这了,更多相关Pandas缺失值填充 df.fillna() 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/Hudas/article/details/122923643

延伸 · 阅读

精彩推荐
  • PythonPython自动巡检H3C交换机实现过程解析

    Python自动巡检H3C交换机实现过程解析

    这篇文章主要介绍了Python自动巡检H3C交换机实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    ciscoxushaojie13222020-08-15
  • PythonPython接口自动化浅析登录接口测试实战

    Python接口自动化浅析登录接口测试实战

    本文主要接好了python接口自动化的接口概念、接口用例设计及登录,跟随本文章来进行一个接口用例设计及登录接口测试实战,有需要的朋友可以参考下...

    软件测试自动化测试10442021-12-24
  • Python用Python编写分析Python程序性能的工具的教程

    用Python编写分析Python程序性能的工具的教程

    这篇文章主要介绍了用Python编写分析Python程序性能的工具教程,包括了对内存泄漏等常见问题的检测方法,需要的朋友可以参考下 ...

    Huy Nguyen2052020-05-27
  • Pythonpygame实现简易飞机大战

    pygame实现简易飞机大战

    这篇文章主要为大家详细介绍了pygame实现简易飞机大战,python版飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参...

    wangbowj1237322021-04-01
  • Pythonpython 弹窗提示警告框MessageBox的实例

    python 弹窗提示警告框MessageBox的实例

    今天小编就为大家分享一篇python 弹窗提示警告框MessageBox的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    lyhsdy12722021-07-14
  • Python五分钟带你搞懂python 迭代器与生成器

    五分钟带你搞懂python 迭代器与生成器

    这篇文章主要介绍了python 迭代器与生成器的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下...

    刘早起3332020-08-30
  • Pythonpython实现RSA加密(解密)算法

    python实现RSA加密(解密)算法

    RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准,下面通过本文给大家介绍python实...

    脚本之家8282020-08-12
  • Pythonpython操作excel文件并输出txt文件的实例

    python操作excel文件并输出txt文件的实例

    今天小编就为大家分享一篇python操作excel文件并输出txt文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    huyangg8082021-03-15