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