pandas fillna详解

pandas fillna详解pandas中补全nan具体的参数Series.fillna(self,value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)[source]参数: value:scalar,dict,Series,orDataFrameValuetouset…

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

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

pandas中补全nan


具体的参数
Series.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)[source]


参数:	
value : scalar, dict, Series, or DataFrame
Value to use to fill holes (e.g. 0), alternately a dict/Series/DataFrame of values specifying which value to use for each index (for a Series) or column (for a DataFrame). Values not in the dict/Series/DataFrame will not be filled. This value cannot be a list.

其他的参数:

method : { 
   ‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None
Method to use for filling holes in reindexed Series pad / ffill: propagate last valid observation forward to next valid backfill / bfill: use next valid observation to fill gap.

axis : { 
   0 or ‘index’}
Axis along which to fill missing values.

inplace : bool, default False
If True, fill in-place. Note: this will modify any other views on this object (e.g., a no-copy slice for a column in a DataFrame).

limit : int, default None
If method is specified, this is the maximum number of consecutive NaN values to forward/backward fill. In other words, if there is a gap with more than this number of consecutive NaNs, it will only be partially filled. If method is not specified, this is the maximum number of entries along the entire axis where NaNs will be filled. Must be greater than 0 if not None.

downcast : dict, default is None
A dict of item->dtype of what to downcast if possible, or the string ‘infer’ which will try to downcast to an appropriate equal type (e.g. float64 to int64 if possible).

Returns:	
Series
Object with missing values filled.

例子:

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

补零

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

向前补充,按列 ffill forward fill

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

改变方向 axis = 1按行的方向

>>> df.fillna(method='ffill',axis=1)
 	A	B	C	D
0	NaN	2.0	2.0	0.0
1	3.0	4.0	4.0	1.0
2	NaN	NaN	NaN	5.0
3	NaN	3.0	3.0	4.0

按字典补充,列名:value

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

用limit限制补充的个数

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

实际中常用的按均值补充。

for column in list(df.columns[df.isnull().sum() > 0]):
    mean_val = df[column].mean()
    df[column].fillna(mean_val, inplace=True)

这是用来查看需要补充的列

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

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

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


相关推荐

  • IDEA热部署设置(自动/手动 两种方式)

    IDEA热部署设置(自动/手动 两种方式)1.导包<!–热部署依赖包该包包含开发所需的所有工具热部署就包含在其中–><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dev…

    2022年6月10日
    300
  • asp中Session对象的清空[通俗易懂]

    asp中Session对象的清空[通俗易懂]在保存某些多页面共用的变量的时候(如保存用户登陆信息),我们用得最多的就是Session和Cookies了,至于Session怎么使用这里就不说了   ,主要说说Session的清空。   Contents.Remove(\”变量名\”):从Session.cont

    2022年7月15日
    24
  • js push string in array

    js push string in array

    2021年9月11日
    57
  • stat 文件_readlink函数

    stat 文件_readlink函数statstat函数主要用于获取文件的inode信息。stat命令其实就是调用的stat函数。stat中时间的辨析atime(最近访问时间)mtime(最近更改时间):指最近修改文件内容的时间ctime(最近改动时间):指最近改动inode的时间1)chmod777stat_1.txtstat之后发现ctime变了。改变了文件的权限,文件权限保存在inode里面。2)vims

    2022年8月21日
    6
  • 中文情感词库_情感识别

    中文情感词库_情感识别目录一一

    2022年8月23日
    6
  • 基于mpvue搭建一个小程序

    基于mpvue搭建一个小程序mpvue是一套定位于开发小程序的前端开发框架,熟悉vue基本语法即可开发,没有原生小程序开发的思维转换1.安装vue-cli$npminstall–globalvue-cli2.创建一个基于mpvue-quickstart模板的新项目vueinitmpvue/mpvue-quickstartmy-project开始选择题,一路回车也是没问题的3.进入项目文件…

    2022年5月7日
    59

发表回复

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

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