pandas学习之df.fillna的具体使用
作者:非昨 时间:2023-10-16 20:34:08
df.fillna主要用来对缺失值进行填充,可以选择填充具体的数字,或者选择临近填充。
官方文档
DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
解释
构建实例:
import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan,22,23,np.nan],[31,np.nan,12,34],[np.nan,np.nan,np.nan,23],
[15,17,66,np.nan]],columns=list('ABCD'))
df
A B C D
0 NaN 22.0 23.0 NaN
1 31.0 NaN 12.0 34.0
2 NaN NaN NaN 23.0
3 15.0 17.0 66.0 NaN
value:scalar,series,dict,dataframe
填充的值,可以是一个标量,或者字典等
df.fillna(value=1)#缺失值填充为1
A B C D
0 1.0 22.0 23.0 1.0
1 31.0 1.0 12.0 34.0
2 1.0 1.0 1.0 23.0
3 15.0 17.0 66.0 1.0
------------------------------------------
df.fillna(value={'A':2,'B':3})# 传入一个字典,指定某列填充的具体值
A B C D
0 2.0 22.0 23.0 NaN
1 31.0 3.0 12.0 34.0
2 2.0 3.0 NaN 23.0
3 15.0 17.0 66.0 NaN
method:{backfill,bfill,pad,ffill,none},default none
填充的方法,backfill和bfill代表填充后侧值,ffill和pad填充空值前侧值
df.fillna(method='ffill')#向前填充,注意此处默认参数axis=0,所以空值是填充上一行的数据,而不是前一列。
A B C D
0 NaN 22.0 23.0 NaN
1 31.0 22.0 12.0 34.0
2 31.0 22.0 12.0 23.0
3 15.0 17.0 66.0 23.0
axis:
控制行列的参数,用法和其他方法完全相同
inplace:
是否将结果赋值给原变量,和其他方法里的用法相同
limit:int 或None
向前或后填充的最大数量,必须是大于0的整数
如果指定了method参数,则连续空值值填充前int个
如果未指定method参数,则只填充所在轴上的前int空值
A B C D#原数据
0 NaN 22.0 23.0 NaN
1 31.0 NaN 12.0 34.0
2 NaN NaN NaN 23.0
3 15.0 17.0 66.0 NaN
df.fillna(value=0,axis=1,limit=1)#在ABCD列上,每列只填充第一个空值
A B C D
0 0.0 22.0 23.0 0.0
1 31.0 0.0 12.0 34.0
2 NaN NaN 0.0 23.0
3 15.0 17.0 66.0 NaN
来源:https://blog.csdn.net/lisnyuan/article/details/107051836
标签:pandas,df.fillna
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
基于Python制作一款屏幕颜色提取器
2023-11-16 05:20:48
![](https://img.aspxhome.com/file/2023/0/127760_0s.jpg)
scrapy结合selenium解析动态页面的实现
2023-11-11 17:16:51
![](https://img.aspxhome.com/file/2023/1/131381_0s.jpg)
用python建立两个Y轴的XY曲线图方法
2023-06-30 15:01:26
![](https://img.aspxhome.com/file/2023/0/100850_0s.jpg)
python+pytest接口自动化之session会话保持的实现
2021-10-15 15:45:31
![](https://img.aspxhome.com/file/2023/3/85183_0s.jpg)
ERROR 1222 (21000): The used SELECT statements have a different number of columns
2024-01-15 02:31:28
python调试工具Birdseye的使用教程
2023-08-22 19:18:48
![](https://img.aspxhome.com/file/2023/4/93714_0s.gif)
pytorch中的 .view()函数的用法介绍
2022-10-15 19:50:17
Mysql的Binlog数据恢复:不小心删除数据库详解
2024-01-18 21:23:29
![](https://img.aspxhome.com/file/2023/2/79022_0s.png)
C# 如何调用python脚本
2023-11-26 19:06:47
vue相关配置文件详解及多环境配置详细步骤
2023-07-02 16:39:39
![](https://img.aspxhome.com/file/2023/5/139755_0s.jpg)
Python爬虫框架NewSpaper使用详解
2022-06-03 06:20:26
![](https://img.aspxhome.com/file/2023/3/71333_0s.jpg)
Python KMeans聚类问题分析
2023-11-24 14:15:52
![](https://img.aspxhome.com/file/2023/0/124340_0s.jpg)
SQL Server简单查询示例汇总
2024-01-27 12:19:41
![](https://img.aspxhome.com/file/2023/0/113530_0s.png)
python开启debug模式的方法
2023-05-10 02:58:31
elementui的el-popover修改样式不生效的解决
2024-05-09 15:22:24
![](https://img.aspxhome.com/file/2023/7/126437_0s.png)
Python实现为图像添加下雪特效
2021-07-10 11:28:45
![](https://img.aspxhome.com/file/2023/9/97369_0s.gif)
Golang在Mac、Linux、Windows下如何交叉编译的实现
2024-02-23 06:00:02
如何添加一个mysql用户并给予权限详解
2024-01-17 06:09:36
![](https://img.aspxhome.com/file/2023/4/127564_0s.png)
一文搞懂Vue3中的异步组件defineAsyncComponentAPI的用法
2024-04-29 13:09:08
python最长回文串算法
2023-03-05 02:27:37