pandas学习之df.fillna的具体使用
作者:非昨 发布时间:2023-10-16 20:34:08
标签:pandas,df.fillna
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
0
投稿
猜你喜欢
- 关于窗口函数的基础,请看文章SQL窗口函数取值窗口函数可以用于返回窗口内指定位置的数据行。常见的取值窗口函数如下:LAG函数可以返回窗口内当
- 在Python个人博客程序开发实例框架设计中,我们已经完成了 数据库设计、数据准备、模板架构、表单设计、视图函数设计、电子邮件支持 等总体设
- mysql> SELECT something FROM tbl_name &nb
- 先说一下背景和要求背景:由于业务或是其他不描述的原因的问题导致原有存储的数据发生变动,与现有数据有差别,但还是能勉强看明白数据内容。要求:实
- 前言: 最近在学习过程中总是遇到np.random.seed()这个问题,刚开始总是觉得不过是一个简单的随机数种子,就没太在意,后来遇到的次
- 运行多进程 每个子进程的内存空间是互相隔离的 进程之间数据不能共享的互斥锁但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享
- 前言python中有一个非常有用的语法叫做生成器,所利用到的关键字就是yield。有效利用生成器这个工具可以有效地节约系统资源,避免不必要的
- mulLine = """Hello!!! Wellcome to Python's world! T
- 遇到一个很奇怪的现象,在给页面添加“打印”按钮时,发现网页在IE6下居然不能打印,弹出一个对话框,遇到脚本错误。查看错误详细:定位到 url
- 作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA-01
- 1. 模型1.1. 模型定义type User struct { gorm.Model
- javascript基础教程算术运算符运算符运算符说明示例示例说明+加法x+y如果x为整数2,y为整数5, x+y等于7如果x为字符串&qu
- 前言xml课的第三第四个作业都是用java编程来实现xml dom的一些转换, 因为自己没怎么学过java,因此和老师说了下想用python
- 一 、精灵(Sprite),屏幕上的对象。精灵组是精灵的组合。创建空的精灵组对象:精灵组可以对其中的所有精灵调用它们各自的更新方法(self
- 一、旧版本(1.0以下)的卷积函数:tf.nn.conv2d在tf1.0中,对卷积层重新进行了封装,比原来版本的卷积层有了很大的简化。con
- 要求:#出租车计费*************************************************************
- #!/usr/bin/env Pythonfrom __future__ import print_functionfrom collect
- 使用PyQt5应用程序制作PDF转换成图片的小工具,可以导入PDF文档后一键生成对应的PNG图片。PDF图片转换小工具使用的中间件:pyth
- --销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create table salesd
- 本文实例为大家分享了python使用itchat实现手机控制电脑的具体代码,供大家参考,具体内容如下1.准备材料首先电脑上需要安装了pyth