pandas之数据清洗实例大全

import pandas as pd
import numpy as np


# ============删除/填充 空值============
# 在许多情况下,如果你用 Pandas 来读取大量数据,往往会发现原始数据中会存在不完整的地方。
# 在 DataFrame 中缺少数据的位置, Pandas 会自动填入一个空值,比如 NaN或 Null 。
# 我们可以选择用 .dropna() 来丢弃这些自动填充的值;
#       或是用.fillna() 来自动给这些空值填充数据.
# -------删除--------
# 1、实例数据源(带有空值)
dt_01 = {'A':[1, np.nan, 3], 'B':[2,np.nan,np.nan], 'C':[4,5,6]}
my_datafarme_01 = pd.DataFrame(dt_01)
#print(my_datafarme_01)

# 2、当你使用 .dropna() 方法时,就是告诉 Pandas 删除掉存在一个或多个空值的行(或者列)。
# 删除行用的是 .dropna(axis=0) ,
# 删除列用的是 .dropna(axis=1) 。
# 请注意,如果你没有指定 axis 参数,默认是删除行。
#print(my_datafarme_01.dropna())
#print(my_datafarme_01.dropna(axis=0))
#print(my_datafarme_01.dropna(axis=1))

# ---------填充所有Nan--------
# 类似的,如果你使用 .fillna() 方法,Pandas 将对这个 DataFrame 里所有的空值位置填上你指定的默认值。
# 比如,将表中所有 NaN 替换成 20 :
#print(my_datafarme_01.fillna('20'))

# ---------填充指定位置的Nan-----------
# 避免影响范围太大了,于是我们可以选择只对某些特定的行或者列进行 Nan值 填充
col = ['A','B']
my_datafarme_01[col] = my_datafarme_01[col].fillna('10')
#print(my_datafarme_01)

# 同理,.dropna() 和 .fillna() 并不会永久性改变你的数据,除非你传入了 inplace=True 参数。

# ===============分组统计===============
# Pandas 的分组统计功能:可以按某一列的内容对数据行进行分组,并对其应用统计函数,比如求和,平均数,中位数,标准差等等…
# 例:我们可以对下面这数据表用 .groupby() 方法,按 'Company' 列进行分组,并用 .mean() 求每组的平均值:
# -------数据表-------
dt_01 = {'Company':['GOOGLE','GOOGLE','ORACLE','ORACLE','TWITIER','TWITIER'],
      'Person':['Saa','Charlie','Amy','Vanessa','Carl','Sarah'],
      'Sales':[200, 120, 340, 124, 243, 350]
      }
my_datafarme_02 = pd.DataFrame(dt_01)
#print(my_datafarme_02)

# --------分组并求平均值-
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值