python笔记之使用fillna()填充缺失值
作者:集音 时间:2023-12-22 19:53:49
使用fillna()填充缺失值
df = pd.read_csv('ccf_offline_stage1_train.csv')
print(df['Distance'])
df['distance'] = df['Distance'].fillna(-1).astype(int)
print(df['distance'])
结果太长不展示了,经过操作后成功将dataframe中distance列的缺失值都变成了-1
关于fillna()函数详解
inplace参数的取值:True、False
True
:直接修改原对象False
:创建一个副本,修改副本,原对象不变(缺省默认)
method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None
pad
/ffill
:用前一个非缺失值去填充该缺失值backfill
/bfill
:用下一个非缺失值填充该缺失值None
:指定一个值去替换缺失值(缺省默认这种方式)
limit参数:限制填充个数
axis参数:修改填充方向
#导包
import pandas as pd
import numpy as np
from numpy import nan as NaN
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1
代码结果:
一、不指定任何参数
1. 用常数填充
#一、不指定method参数
#1.用常数填充
print (df1.fillna(100))
print ("-----------------------")
print (df1)
运行结果:
2. 用字典填充
#2.用字典填充
df1.fillna({0:10,1:20,2:30})
运行结果:
二、指定inplace参数
#二、指定inplace参数
print (df1.fillna(0,inplace=True))
print ("-------------------------")
print (df1)
运行结果:
三、指定method参数
1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值
#三、指定method参数
df2 = pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3] = NaN
df2.iloc[2:4,4] = NaN
df2
运行结果:
#1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值
df2.fillna(method='ffill')
运行结果:
2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值
#2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值
df2.fillna(method='bfill')
运行结果:
四、指定limit参数
#四、指定limit参数
#用下一个非缺失值填充该缺失值
#只填充2个
df2.fillna(method='bfill', limit=2)
运行结果:
五、指定axis参数
#五、指定axis参数
df2.fillna(method="ffill", limit=1, axis=1)
运行结果:
来源:https://blog.csdn.net/qq_39348113/article/details/82608143
标签:python,fillna,填充,缺失值
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
用python求一重积分和二重积分的例子
2021-09-30 10:01:19
MySQL创建表操作命令分享
2024-01-25 20:08:35
![](https://img.aspxhome.com/file/2023/3/76353_0s.png)
基于node打包可执行文件工具_Pkg使用心得分享
2024-05-08 09:37:47
![](https://img.aspxhome.com/file/2023/7/129457_0s.png)
史上最好用的远程桌面工具(附源码)
2022-12-28 12:08:28
![](https://img.aspxhome.com/file/2023/0/114710_0s.jpg)
python 匹配url中是否存在IP地址的方法
2023-04-13 14:29:08
Django实现文件上传下载功能
2023-06-13 20:09:46
![](https://img.aspxhome.com/file/2023/9/85009_0s.gif)
Chrome插件开发系列一:弹窗终结者开发实战
2024-04-29 13:42:04
![](https://img.aspxhome.com/file/2023/8/132588_0s.png)
python使用Matplotlib绘制分段函数
2022-04-17 16:07:17
![](https://img.aspxhome.com/file/2023/2/76012_0s.jpg)
MySQL中SQL的单字节注入与宽字节注入
2009-03-25 14:49:00
Python3使用SMTP发送带附件邮件
2022-02-10 12:05:53
![](https://img.aspxhome.com/file/2023/8/63208_0s.jpg)
如何读取一个.ini文件?
2009-11-18 20:58:00
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2022-10-02 03:40:33
![](https://img.aspxhome.com/file/2023/0/131440_0s.png)
SQL中distinct 和 row_number() over() 的区别及用法
2024-01-12 20:16:35
![](https://img.aspxhome.com/file/2023/7/71127_0s.png)
asp如何修改WINNT的登录密码?
2010-06-10 17:06:00
python使用xpath获取页面元素的使用
2021-04-30 10:32:09
![](https://img.aspxhome.com/file/2023/7/133327_0s.png)
关于python的对象序列化介绍
2023-07-27 05:02:31
Python实现爬取并分析电商评论
2022-11-21 17:18:47
![](https://img.aspxhome.com/file/2023/1/131201_0s.png)
浅谈Go语言中的次方用法
2024-02-17 04:57:08
![](https://img.aspxhome.com/file/2023/4/110504_0s.jpg)
解决vue中修改export default中脚本报一大堆错的问题
2024-05-22 10:28:27
Python全局变量与局部变量区别及用法分析
2021-01-24 07:35:21