Pandas入门系列(二)-- 谈一谈NaN

Python3数据科学汇总: https://blog.csdn.net/weixin_41793113/article/details/99707225  


# NaN - means Not a Number

import numpy as np
import pandas as pd
from pandas import Series, DataFrame #导入包
n = np.nan
type(n)

NaN是float类型??

 

# Nan in Series

 

s1 = Series([1, 2, np.nan, 3, 4], index=['A','B','C','D','E'])
s1

s1.isnull() #判断是不是空

s1.notnull() #判断是不是非空   

 

s1.dropna() #去掉NaN空数据行


 

 

# NaN in DataFrame
dframe = DataFrame([[1,2,3],[np.nan,5,6],[7,np.nan,9],[np.nan,np.nan,np.nan]])
dframe #手动弄个数据 dframe

dframe.isnull() #判断dframe里面的值是否为空

 

dframe.notnull() #判断元素是否为非空

dframe.dropna(axis=0,how='all') #all 整一行或者整一列都是NaN才删去

dframe.dropna(how='any') #ant 整一行或者整一列只要有一个NaN就删去,默认为how=any,axis=0

dframe.sum(axis=0) #将每一个行的值加起来

dframe2 = DataFrame([[1,2,3,np.nan],[2,np.nan,5,6],[np.nan,7,np.nan,9],[1,np.nan,np.nan,np.nan]])

 

dframe2 #弄多个数据表来玩

df2 = dframe2.dropna(thresh=2) #axis默认为0,对行操作,null个数>2(thresh=2),则删去该行
df2

dframe2.fillna(value={0:1000,1:200,2:300,3:400}) #按列填缺失值

 

dframe2.fillna(value={0:1000,1:200,2:300,3:400}, limit=1) #limit=1限制每列最多补填1个

df1 = dframe
df1.fillna(1000) #NaN的地方全填为1000

 

行了,你已经精通NaN了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值