pandas填充空数组_Pandas 数据处理:空值清洗、联级、合并、缺省空值填充

针对空值的处理,首先要来了解一下空值的类型:

(1)、pandas中的None  和  NaN 有什么区别?

type(None)     --类型是  NoneType 空的对象类型

type(NaN)      --类型是  float 浮点型

注意:Pandas中None 和 NaN 都视作np.nan

(2)、Pandas 的空值操作isnull()   判断null ,返回True/False 的数组

notnull()    空值判断

dropna()     过滤空值数据

fillna()    填充丢失数据使用pandas过滤空值:df.isnull().any(axis = 1)

# 解析: any中轴向:axis = 0  表示列   axis = 1  表示行

# 新函数:  all(axis = 0)   所有数据

any(axis = 0)   任何一个

# df.isnull()表示返回一组True/False 的数组,any(axis = 1)表示横向判断行,一行中任意一个为true就这行就返回 True, 最后返回一维数组

#  最终返回结果如下:

1    False

2    True

3    False

4    False

5    True

#  扩展: df.isnull().all(axis = 1) 一行中任意一个为False就这行就返回 False, 最后返回一维数组

notnull() 的使用方法和isnull()正好相反:df.notnull().all(axis = 1)

# 一行中任意一个为False就这行就返回 False, 最后返回一维数组

#  最终返回结果如下:

1    True

2    False

3    True

4    True

5    False

# 总结:  固定搭配如下:

isnull()  --> any()

notnull()  -->all()

最后过滤掉有空值的行df.iloc[df.notnull().all(axis = 1)]df.dropna()  过滤空数据所在的行或列 (可直接过滤)

df.dropna() 可以选择过滤的是行还是列,默认是行,dropna中axis=0 表示行; axis=1 表示列df.dropna(axis=0)  #等同于上面过滤方式,封装了上面操作fillna()  填充丢失/空值数据

fillna中 axis=0 表示列;axis=1 表示行

可选择向前或向后填充:method ='bfill'  向后覆盖(空值取前一个);

method ='ffill'  向前覆盖(空值取后一个);df.fillna(value =5555)   #填充df 中所有空值数据

df.fillna(method ='bfill',axis=0)   # 列里的空值取列里空值取前一个填充drop 删除数据

drop 中  axis=0 表示行,axis=1 表示列

删除无用的列,列索引:'name','name1';inplace参数指是否替代原来的df

data.drop(labels=['name','name1'],axis = 1,inplace=True)

删除无用的行,行索引:'涨跌'

df.drop(['涨跌'], axis=0, inplace=True)

(3)Pandas 删除空值行数据、替换空值案例代码:import pandas as pd

from pandas import Series,DataFram

import numpy as np

# 提取数据

data = pd.read_excel('./测试数据.excel')

# 删除无用的列,列索引:'name','name1'

data.drop(labels=['name','name1'],axis = 1,inplace=True)

# 删除空数据所在的行

data.dropna(axis=0)

# 覆盖

v_1 = data.fillna(method='ffill',axis=0) .fillna(method='bfill',axis=0)

# 检测v_1中是否有空值

v_1.isnull().any(axis = 0)  #通常检测列里是否有空值,因为行数太多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值