第7章 数据清洗和准备

这章重点了
在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载、清理、转换以及重塑。这些⼯作会占到分析师时间的80%或更多。
本章讨论处理缺失数据、重复数据、字符串操作和其它分析数据转换的工具。

7.1 处理缺失数据

在许多数据分析工作中,缺失数据是经常发生的。pandas的目标之一就是尽量轻松地处理缺失数据。
下表列出了⼀些关于缺失数据处理的函数。
在这里插入图片描述

1.滤除缺失数据

过滤掉缺失数据的办法有很多种。你可以通过pandas.isnull或布尔索引的手工⽅法,但dropna可能会更实用⼀些。对于⼀个Series,dropna返回⼀个仅含非空数据和索引值的Series

from numpy import nan as NA
data=pd.Series([1,NA,3.5,NA,7])
data.dropna()
#等价data[data.notnull()]
#输出
"""
0    1.0
2    3.5
4    7.0
dtype: float64
"""

对于DataFrame对象,事情就有点复杂了。你可能希望丢弃全NA或含有NA的行或列。dropna默认丢弃任何含有缺失值的行

data=pd.DataFrame([[1.,6.5,3.],[1.,NA,NA],
[NA,NA,NA],[NA,6.5,3.]])
cleaned=data.dropna()
cleaned
#输出
	0	1	2
0	1.0	6.5	3.0

2.填充缺失数据

你可能不想滤除缺失数据(有可能会丢弃跟它有关的其他数据),而是希望通过其他方式填补那些“空洞”。对于大多数情况而言,fillna方法是最主要的函数。

data=pd.DataFrame([[1.,6.5,3.],[1.,NA,NA],
[NA,NA,NA]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值