python dataframe fillna_python缺失值处理 fillna

python dataframe fillna_python缺失值处理 fillna约定:importpandasaspdimportnumpyasnpfromnumpyimportnanasNaN填充缺失数据fillna()是最主要的处理方式了。df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])df1代码结果:01201.02.03.01NaNNaN2.02NaNNaNNaN38….


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

约定:

import pandas as pd

import numpy as np

from numpy import nan as NaN

填充缺失数据

fillna()是最主要的处理方式了。

df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])

df1

代码结果:

0

1

2

0

1.0

2.0

3.0

1

NaN

NaN

2.0

2

NaN

NaN

NaN

3

8.0

8.0

NaN

用常数填充:

df1.fillna(100)

代码结果:

0

1

2

0

1.0

2.0

3.0

1

100.0

100.0

2.0

2

100.0

100.0

100.0

3

8.0

8.0

100.0

通过字典填充不同的常数:

df1.fillna({0:10,1:20,2:30})

代码结果:

0

1

2

0

1.0

2.0

3.0

1

10.0

20.0

2.0

2

10.0

20.0

30.0

3

8.0

8.0

30.0

传入inplace=True直接修改原对象:

df1.fillna(0,inplace=True)

df1

代码结果:

0

1

2

0

1.0

2.0

3.0

1

0.0

0.0

2.0

2

0.0

0.0

0.0

3

8.0

8.0

0.0

传入method=” “改变插值方式:

df2=pd.DataFrame(np.random.randint(0,10,(5,5)))

df2.iloc[1:4,3]=NaN;df2.iloc[2:4,4]=NaN

df2

代码结果:

0

1

2

3

4

0

6

6

2

4.0

1.0

1

4

7

0

NaN

5.0

2

6

5

5

NaN

NaN

3

1

9

9

NaN

NaN

4

4

8

1

5.0

9.0

df2.fillna(method=’ffill’)#用前面的值来填充

代码结果:

0

1

2

3

4

0

6

6

2

4.0

1.0

1

4

7

0

4.0

5.0

2

6

5

5

4.0

5.0

3

1

9

9

4.0

5.0

4

4

8

1

5.0

9.0

传入limit=” “限制填充个数:

df2.fillna(method=’bfill’,limit=2)

代码结果:

0

1

2

3

4

0

6

6

2

4.0

1.0

1

4

7

0

NaN

5.0

2

6

5

5

5.0

9.0

3

1

9

9

5.0

9.0

4

4

8

1

5.0

9.0

传入axis=” “修改填充方向:

df2.fillna(method=”ffill”,limit=1,axis=1)

代码结果:

0

1

2

3

4

0

6.0

6.0

2.0

4.0

1.0

1

4.0

7.0

0.0

0.0

5.0

2

6.0

5.0

5.0

5.0

NaN

3

1.0

9.0

9.0

9.0

NaN

4

4.0

8.0

1.0

5.0

9.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170006.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqoop的安装与使用

    sqoop的安装与使用

    2022年2月4日
  • VMware下载安装教程(vbox虚拟机安装教程)

    全网最详细的VMware虚拟机下载安装教程第一步下载虚拟机1.进入VMware官网,点击左侧导航栏中的下载,选择下拉列表中的产品下载,再点击图中标记的WorkstationPro,如下图所示。2.选择自己需要的版本和操作系统,在这里以Windows系统为例,点击转至下载,如下图所示。-3.点击转至下载后也在此处可以选择版本。选择好版本后点击立即下载。如下图所示。4.注意,需要登录之后才能下载。若无账号可点击注册后登录。如下图所示。二、安装虚拟机1.进入下载路径,双击.

    2022年4月10日
  • 国内免费CMS汇总[通俗易懂]

    国内免费CMS汇总[通俗易懂]CMS系统已经成为建站过程中必不可少的工具,现在已经基本看不到手工写成的HTML页面,这几年流行div+css建站,使得手写代码愈加不现实,CMS系统已经成为建站必备的支撑软件。CMS的发展和平台的演变是密切相关的,从最古老的CGI到ASP再到JSP、PHP、.NET,CMS也跟着不断推层出新,大家选择CMS一定要考虑平台,不然几年后可能会出大麻烦。ASP已经被微软淘汰,JSP太复杂难于上

    2022年10月11日
  • postman调试rpc接口

    postman调试rpc接口使用postman测试RPC接口PostMan如何调用RPC接口(postman下载)PostMan如何调用RPC接口接口调试之Postman使用方法详解

    2022年10月13日
  • 【计算机网络(微课版)】第4章 网络层与网络互连 课后习题及答案

    【计算机网络(微课版)】第4章 网络层与网络互连 课后习题及答案1.网络层向上提供的服务有哪两种?试比较其优缺点。解答:面向连接的虚电路服务和无连接的数据报服务。 对比的方面 虚电路服务 数据报服务 思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证 连接的建立 必须有 …

    2022年10月10日
  • 微生物组-宏基因组分析第8期 (报名直播课免费参加线下课2020.7,最后一周)

    微生物组-宏基因组分析第8期 (报名直播课免费参加线下课2020.7,最后一周)“福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析、宏基因组、Python课程和转录组的线上直播课。报名参加线上直播课的老师可在1年内选择参加同…

    2022年6月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号