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
0
投稿

猜你喜欢

  • 基于Python制作一款屏幕颜色提取器

    2023-11-16 05:20:48
  • scrapy结合selenium解析动态页面的实现

    2023-11-11 17:16:51
  • 用python建立两个Y轴的XY曲线图方法

    2023-06-30 15:01:26
  • python+pytest接口自动化之session会话保持的实现

    2021-10-15 15:45:31
  • 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
  • pytorch中的 .view()函数的用法介绍

    2022-10-15 19:50:17
  • Mysql的Binlog数据恢复:不小心删除数据库详解

    2024-01-18 21:23:29
  • C# 如何调用python脚本

    2023-11-26 19:06:47
  • vue相关配置文件详解及多环境配置详细步骤

    2023-07-02 16:39:39
  • Python爬虫框架NewSpaper使用详解

    2022-06-03 06:20:26
  • Python KMeans聚类问题分析

    2023-11-24 14:15:52
  • SQL Server简单查询示例汇总

    2024-01-27 12:19:41
  • python开启debug模式的方法

    2023-05-10 02:58:31
  • elementui的el-popover修改样式不生效的解决

    2024-05-09 15:22:24
  • Python实现为图像添加下雪特效

    2021-07-10 11:28:45
  • Golang在Mac、Linux、Windows下如何交叉编译的实现

    2024-02-23 06:00:02
  • 如何添加一个mysql用户并给予权限详解

    2024-01-17 06:09:36
  • 一文搞懂Vue3中的异步组件defineAsyncComponentAPI的用法

    2024-04-29 13:09:08
  • python最长回文串算法

    2023-03-05 02:27:37
  • asp之家 网络编程 m.aspxhome.com