pandas中的 fillna使用(pandas.DataFrame.fillna)「建议收藏」

pandas中的 fillna使用(pandas.DataFrame.fillna)「建议收藏」api参考:fillna:使用指定的方法填充NA/NaN值。>>>df=pd.DataFrame([[np.nan,2,np.nan,0],[3,4,np.nan,1],[np.nan,np.nan,np.nan,5],[np.nan,3,np.nan,4]],columns=list.

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

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

api参考:

pandas中的 fillna使用(pandas.DataFrame.fillna)「建议收藏」

fillna: 使用指定的方法填充 NA/NaN 值。

>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],
                   [3, 4, np.nan, 1],
                   [np.nan, np.nan, np.nan, 5],
                   [np.nan, 3, np.nan, 4]],
                  columns=list("ABCD"))
>>> df
     A    B   C  D
0  NaN  2.0 NaN  0
1  3.0  4.0 NaN  1
2  NaN  NaN NaN  5
3  NaN  3.0 NaN  4

 1、用 0 替换所有 NaN 元素。

>>> df.fillna(0)
    A   B   C   D
0   0.0 2.0 0.0 0
1   3.0 4.0 0.0 1
2   0.0 0.0 0.0 5
3   0.0 3.0 0.0 4

2、我们还可以向前或向后传播非空值。

>>> df.fillna(method="ffill")
    A   B   C   D
0   NaN 2.0 NaN 0
1   3.0 4.0 NaN 1
2   3.0 4.0 NaN 5
3   3.0 3.0 NaN 4

3、将“A”、“B”、“C”和“D”列中的所有 NaN 元素分别替换为 0、1、2 和 3。

>>> values = {"A": 0, "B": 1, "C": 2, "D": 3}
>>> df.fillna(value=values)
    A   B   C   D
0   0.0 2.0 2.0 0
1   3.0 4.0 2.0 1
2   0.0 1.0 2.0 5
3   0.0 3.0 2.0 4

4、只替换第一个 NaN 元素。

>>> df.fillna(value=values, limit=1)
    A   B   C   D
0   0.0 2.0 2.0 0
1   3.0 4.0 NaN 1
2   NaN 1.0 NaN 5
3   NaN 3.0 NaN 4

5、使用 DataFrame 填充时,替换沿相同的列名和相同的索引发生

>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE"))
>>> df.fillna(df2)
    A   B   C   D
0   0.0 2.0 0.0 0
1   3.0 4.0 0.0 1
2   0.0 0.0 0.0 5
3   0.0 3.0 0.0 4

6、inplace 如果为 True,则就地填充。默认为 False

# 第一种情况
print df.fillna("missing", inplace=False)
         A        B        C  D
0  missing        2  missing  0
1        3        4  missing  1
2  missing  missing  missing  5
3  missing        3  missing  4


# 第二种情况
df.fillna("missing", inplace=False)
print df
     A    B   C  D
0  NaN  2.0 NaN  0
1  3.0  4.0 NaN  1
2  NaN  NaN NaN  5
3  NaN  3.0 NaN  4


# 第三种情况
print df.fillna("missing", inplace=True)
None


# 第四种情况
df.fillna("missing", inplace=True)
print df
         A        B        C  D
0  missing        2  missing  0
1        3        4  missing  1
2  missing  missing  missing  5
3  missing        3  missing  4

参考官方文档。

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

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

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


相关推荐

  • matlab多元函数极值_matlab求三元函数的极值

    matlab多元函数极值_matlab求三元函数的极值matlab求解二元函数极值命令:1、x=fminsearch(fun,x0)或x=fminunc(fun,x0)求极小值点x,初值选为x02、[x,fmin]=fminsearch(fun,x0)或[x,fmin]=fminunc(fun,x0)3、fminsearch采用单纯形法,fminunc采用牛顿法除了fminsearch和fminunc这两种命令外,建立函数还可以用不同的方法

    2022年9月6日
    3
  • 学习Python之路之ipython的使用及Pycharm的安装[通俗易懂]

    学习Python之路之ipython的使用及Pycharm的安装[通俗易懂]一、Python的基础知识1、概念Python是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。2、Python的特点优点:简单、优雅、明确 有强大的第三方库模块 可跨平台移植 一种面向对象的语言缺点:代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢 p…

    2022年8月27日
    2
  • proc 储过程

    proc 储过程

    2021年5月3日
    129
  • Druid介绍及入门[通俗易懂]

    Druid介绍及入门[通俗易懂]1.什么是Druid?Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到Druid后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。Druid采用的架构: shared-nothing架构与lambda架构 Druid设计三个原则:1.快速查询(FastQu…

    2022年7月23日
    6
  • 网络舆情分析与研判的指标还应有哪些_舆情监测是什么

    网络舆情分析与研判的指标还应有哪些_舆情监测是什么网络聚集的人气、展开的场景与揭示的真相,不仅会推动新闻事件的发展、形成网络舆论,甚至还会直接影响社会主流舆论、推动社会变革。对舆情监测主体来说,如何加强对网络舆情的实时全面监测,并对其做出及时反馈、防患于未然;如何利用现代信息技术做好网络舆情分析,从而进行有效引导和控制;如何化解网络舆情危机,实现网络舆情的高效管理是一项任重而道远的任务。在网络舆情分析和管理中,舆情监测主体的业务需求是基础和根本,业务需求的满足与否,是评判网络舆情分析系统的核心指标。网络舆情分析系统的评判指标参考项,如下:网络舆情分析

    2022年9月16日
    0
  • 经济管理学中常用的模型分析法

    经济管理学中常用的模型分析法经济管理学中常用的模型分析法常用的分析模型有:波特五力模型、波士顿矩阵、鱼骨分析法、5W1H分析法、麦肯锡7S模型、杜邦分析法、营销漏斗模型、可行性分析、绩效分析;SMART原则、SWOT分析、PEST分析法、GROW模型、3C理论、顾客细分、事故树分析法。比较系统的模型分类有:第一篇:战略与组织工具1.SWOT分析:战略规划的经典分析工具2.PEST分析:组织外部宏观环境分析工具3.BCG矩阵法…

    2022年5月27日
    105

发表回复

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

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