python笔记之使用fillna()填充缺失值
作者:集音 发布时间:2023-12-22 19:53:49
标签:python,fillna,填充,缺失值
使用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


猜你喜欢
- 痛点引出在平时的开发当中,渲染侧边栏导航菜单有时会遇到过需要侧边栏有多层甚至无限层级的问题。此时更优雅的方式便是使用递归组件<el-m
- 目的是为了检测出采集数据中的异常值。所以很明确,这种情况下的簇为2:正常数据和异常数据两大类1、安装相应的库import matplotli
- 一、关联规则概述1993年,Agrawal等人在首先提出关联规则概念,迄今已经差不多30年了,在各种算法层出不穷的今天,这算得上是老古董了,
- 基本思路是使用opencv来把随机生成的字符,和随机生成的线段,放到一个随机生成的图像中去。虽然没有加复杂的形态学处理,但是目前看起来效果还
- 本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考。具体实例代码如下:import getopt im
- 简单使用安装celery及redis定义celery任务项目下新建tasks.pyfrom celery import Celery# 创建
- 前言当我们使用Python完成自己的原创的工具时,比如:端口扫描、弱口令爆破等。你是否想过添加自己的Logo,以及简要的帮助信息?如下:Sq
- 前言MySQL查看表占用空间大小CentOS7 环境下MySQL常用命令MySQL: 范围查询优化环境介绍 :服务器: 阿里云轻量应用服务器
- Vue是当下很流行的前端框架,现在我来分享一下用Vue创建项目的流程1、新建一个文件夹,用来创建Vue项目。2、进入到该文件夹,在地址栏内写
- 由于某些原因需要把函数直接放到 img 标签上的 onload 属性执行,比如:For some reasons we have to ex
- 参照网上资料在CentOS6.8服务器上使用cmake安装了MySQL5.7.18,安装过程中遇到了各种各样的问题,大多问题在网上都能找到解
- 下面的这个函数实现的功能是列出某文件夹下的所有文件,以文件名字母排序,先数字后字母再到中文。<%
- 我们通常用golang来构建高并发场景下的应用,但是由于golang内建的GC机制会影响应用的性能,为了减少GC,golang提供了对象重用
- 1.引言本文是Python生态系统中一些有用技巧的分享。大多数技巧只是使用标准库中的包,但其他一些技巧会涉及一些第三方包。在开始阅读本文内容
- 一、报错error connecting to master 'x@x.x.x.x:x' - retry-time: 60&
- 一、获得给定月份的周日数根据给定的某个日期,计算这个月份的周日的天数。根据系统变量@@DATEFIRST的值,判断周日的序号为【DatePa
- 如下所示:# 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value
- 操作步骤1.下载BeautifulReport文件,本例文件下载地址 最新文件下载地址2.复制文件BeautifulReport,至pyth
- 本文实例为大家分享了python绘制箱型图的具体代码,供大家参考,具体内容如下import numpy as npimport pandas
- Python中滑动平均算法(Moving Average)方案:#!/usr/bin/env python# -*- coding: utf