Pandas数据清洗和常用函数

本文介绍了如何使用Pandas库进行数据清洗,包括处理空值(如n/a、NA)、删除错误数据、识别并移除重复数据,以及提供相关函数和示例。

数据清洗

数据清洗是对一些没用的数据进行处理的过程。

当数据出现确实、数据格式错误、错误数据或重复数据的情况,如果我们想要分析的更加准确,就要对没用的数据进行处理。

此时我们学习采用菜鸟教程的数据作为案例,如下图所示。

在这里插入图片描述

在途中包含的错误数据有:

  • n/a
  • NA
  • na

清洗空值

使用 dropna() 方法,语法格式如下:

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数说明

  • axis:默认为 0,表示逢空值剔除整行,如果设置参数 axis=1 表示逢空值去掉整列
  • how:默认为 ‘any’ 如果一行(或一列)里任何一个数据有出现 NA 就去掉整行,如果设置 how=‘all’ 一行(或列)都是 NA 才去掉这整行。
  • thresh:设置需要多少非空值的数据才可以保留下来的。
  • subset:设置想要检查的列。如果是多个列,可以使用列名的 list 作为参数。
  • inplace:如果设置 True,将计算得到的值直接覆盖之前的值并返回 None,修改的是源数据。

判断是否为空

通过 isnull() 判断各个单元格是否为空。

df = pd.read_csv('property-data.csv')
print (df['NUM_BEDROOMS'])
print (df['NUM_BEDROOMS'].isnull())

在这里插入图片描述

使用该方法,将 n/a 和 NA 当作空数据,na 不是空数据,这样与我们先前指定的目标是不一样的。

当然 Pandas 支持我们指定空类型。

missing_values = ["n/a", "na", "--"]
df = pd.read_csv('property-data.csv', na_values = missing_values)

print (df['NUM_BEDROOMS'])
print (df['NUM_BEDROOMS'].isnull())

在这里插入图片描述

删除空行

使用 dropna() 方法进行删除,在删除后返回一个新的 DataFrame 对象,不会修改源数据。

df = pd.read_csv('property-dat
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值