Pandas常见方法(2)-pandas对数据的预处理

说明:本blog基于python3, pandas 1.3.5版本


前言

本文主要介绍如何对数据做预处理,包括 缺失值过滤、缺失值补全、数据转换(重复值删除,数据映射、数据替换)、简单运算自动对齐与函数处理、统计运算和排序,共5个部分。并附有代码实例。
【注:本文所有部分根据pandas中的基础数据结构进行分类讲解,Series 和 DataFrame】

一、对缺失值处理

1.1 缺失值过滤

使用dropna方法,
公式: DataFrame.dropna(axis = 0/1, how = “all”, thresh =按衡量标准 删除的最小Nan值个数, subset = [“目标列”])

代码如下

import pandas as pd
import numpy as np

a = pd.DataFrame([[1,2,np.nan],[np.nan,2,3], [np.nan, np.nan, np.nan], [3,5,7]])
print(a)
###过滤缺失值

###删除所有包含缺失值的行
a1 = a.dropna(axis = 0)
print(("删除所有包含Nan值的行 \n{}").format(a1))

###删除所有包含Nan值的列
a2 = a.dropna(axis = 1)
print(("删除所有包含Nan值的列 \n{}").format(a2))

##删除行元素全为Nan值的行
a3 = a.dropna(how = "all", axis = 0)
print(("删除行元素全为Nan值的行 \n{}").format(a3))

结果如下

 0    1    2
0  1.0  2.0  NaN
1  NaN  2.0  3.0
2  NaN  NaN  NaN
3  3.0  5.0  7.0
删除所有包含Nan值的行 
     0    1    2
3  3.0  5.0  7.0
删除所有包含Nan值的列 
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3]
删除行元素全为Nan值的行 
     0    1    2
0  1.0  2.0  NaN
1  NaN  2.0  3.0
3  3.0  5.0  7.0

1.2 缺失值补全

DataFrame.fillna(字典形式的按列填充/常数值, method = “ffill”/“bfill”, axis = 0/1, inplace = True/False)
【注:axis = 0代表按列填充,axis = 1代表按行填充;这里的0,1与pandas其他方法的0,1不同!!!】

import pandas as pd
import numpy as np

a = pd.DataFrame([[1,2,np.nan],[np.nan,2,3], [np.nan, np.nan, np.nan], [3,5,7]])
print(a)

###按列后填充, 并返回“视图”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Efred.D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值