1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > fillna填充某一列_pandas学习笔记 -了解数据集基本情况 提取数据 缺失值NULL的判断

fillna填充某一列_pandas学习笔记 -了解数据集基本情况 提取数据 缺失值NULL的判断

时间:2019-12-12 08:03:48

相关推荐

fillna填充某一列_pandas学习笔记 -了解数据集基本情况 提取数据 缺失值NULL的判断

part1 了解数据集基本情况

当我们面对一个很大的数据集的时候,如何快速得到他的行数与列数呢?

举个栗子,我们读取一个nhanes数据集,我们加上一个.shape,输出的结果就是他的行数和列数了。

也就是:(jupyter笔记本形式)

当我们想看他的列名分别有什么时,我们加上一个.columns

也就是:

如果想知道表格各列的数据类型:

也就是:

part2 提取某一列

在这个程序里,w , x , y , z 他们print出来是一样的。所以,要提取某一列有这么多种形式!

形式1,在数组里填写“列名”

形式2,在loc的逗号右边写“列名”

形式3,直接da.列名

形式4,iloc的逗号右边写列数,记得,是编程里的顺序,dmdeduc2在第十列,是编程顺序9

此时,他们的type全部是series,也就是一维数据。

part3 缺失值NULL

表格中会有很多缺失值,我们要来处理一下

函数1: isnull (别名isna) 和notnull

如果isnull返回ture,说明这是一个缺失值,返回false说明没有缺失,notnull的话反之亦然。

举个栗子:我来看看第10列的0-10行里面,空值是哪个

输出:这说明第八个(也就是第九行)为空值

如果改成notnull,输出就变成这样:

函数2:.dropna()da.dropna ( axis=0, how='any', thresh=None, subset=None, inplace=False )

阿这……这么一大串是什么意思呀,别急,我们一起来看看

axis

0表示对包含缺失值的行进行删除

1表示对包含缺失值的列进行删除;

how

any表示有任何NA存在就删除所在行或列

all表示该行或列必须都是NA才删除

thresh

int整数数据类型

optional随意数据类型

subset

array-like选定列

potional所有列

inplace

True在原表上进行修改

False不在原表上进行修改

举例子:

da.dropna(how = 'all') # 传入这个参数后将只丢弃全为缺失值的那些行

da.dropna(axis = 1) # 丢弃有缺失值的列(一般不会这么做,这样会删掉一个特征)

da.dropna(axis=1,how="all") # 丢弃全为缺失值的那些列

da.dropna(axis=0,subset = ["Age", "Sex"]) # 丢弃‘Age’和‘Sex’这两列中有缺失值的

函数3:.fillna()

如果不想过滤(去除)数据,我们可以选择使用fillna()方法填充NaN.

一、不指定任何参数

1.常数填充

语法:

da.fillna(要填充的数字)

栗子:

填充前:

填充:print( df.fillna (0) )

填充后:

可以看到nan值都变成了0(怎么像整容手术的广告哈哈哈)

2. 用字典填充

填充前:

填充:(给age填充18,给phone填充888888)print(df.fillna({'Age':'18','Phone':'888888'}))

填充后:

二、指定method参数

填充前:

pad/ffill:print(df.fillna(method='ffill'))

用缺失值的前一个非缺失值去填充该缺失值

backfill/bfill:print(df.fillna(method='bfill'))

用缺失值的下一个非缺失值填充该缺失值

三、指定limit参数print(df.fillna(method='bfill',limit=1))

意思就是只填充一行

四:指定axis参数

值得注意的是,此时,0表示列,1表示行,跟我们前面提到的dropna是相反的!!!!

填充前:

填充:print(df.fillna(666,limit=1,axis=1))

填充后:(按行填充,只填充一次,填充数字为666)

fillna填充某一列_pandas学习笔记 -了解数据集基本情况 提取数据 缺失值NULL的判断 删除和补充(dropna fillna的用法)...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。