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….

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea整理代码快捷键设置_idea格式化代码快捷键无效

    idea整理代码快捷键设置_idea格式化代码快捷键无效IDEA代码对齐快捷键:ctrl+alt+LVScodevscode代码对齐快捷键:Shift+Alt+F

    2022年10月12日
    4
  • Idea激活码永久有效Idea2020.1.2激活码教程-持续更新,一步到位「建议收藏」

    Idea激活码永久有效Idea2020.1.2激活码教程-持续更新,一步到位「建议收藏」Idea激活码永久有效2020.1.2激活码教程-Windows版永久激活-持续更新,Idea激活码2020.1.2成功激活

    2022年6月17日
    151
  • WIFI 常识

    WIFI 常识DSSS(DirectSequenceSpreadSpectrum)直接序列扩频FHSS,跳频技术(Frequency-HoppingSpreadSpectrum)FHSS和DSSS比较跳频扩频(FHSS):跳频扩频(FHSS)技术是通过“伪随机码”的调制,信息的载波受一伪随机序列的控制,使载波工作的中心频率不断跳跃改变,而噪音和干扰信号的中心频率却不会改变,这样,只要收、发信机之间按照固定的数字算法产生相同的“伪随机码”,就可以达到同步,排除了噪音和其它干扰信号。虽然在..

    2022年7月20日
    13
  • django和drf_类的序列化

    django和drf_类的序列化前言上一篇文章我们讲述了序列化,这篇就带大家一起来实现以下序列化Serializer我们使用序列化类Serializer,我们来看下源码结构,这里推荐使用pycharm左边导航栏的Structu

    2022年7月30日
    9
  • Spring整合Sharding-JDBC分库分表详情

    Spring整合Sharding-JDBC分库分表详情Spring整合Sharding-JDBC分库分表详情一、概述最初线上系统的业务量不是很大,业务数据量并不大,比如说单库的数据量在百万级别以下(事实上千万级别以下都还能支撑),那么MySQL的单库即可完成任何增/删/改/查的业务操作。随着业务的发展,单个DB中保存的数据量(用户、订单、计费明细和权限规则等数据)呈现指数级增长,那么各种业务处理操作都会面临单DB的IO读写瓶颈带来的性能问题。S…

    2022年6月14日
    28
  • Pycharm专业版注册激活

    Pycharm专业版注册激活快去这个链接:http://blog.csdn.net/lanchunhui/article/details/51660951http://idea.lanyus.com/

    2022年8月26日
    8

发表回复

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

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