Python入门——Pandas之数据清洗

本文详细介绍了Python中数据清洗的过程,包括缺失值的检测与处理(如删除或填充)、重复数据的识别与去重、异常值的检测方法(如基于均值和标准差、箱型图)以及数据的排序(按列、行和进行分组后排序)。
摘要由CSDN通过智能技术生成

 代码包括以下几个部分:

  1. 缺失值处理
  2. 重复数据处理
  3. 异常值的检测与处理
  4. 数据排序
  5. 数据排名
# 数据清洗
# 缺失值处理
data=pd.read_excel('data_test05.xlsx')
print(data.head())
# 用info方法查看数据信息
print(data.info())
#判断是否存在缺失值
print(data.isnull())
print(data.notnull())
'''
# 缺失值删除,dropna()删除所有有缺失值的行
# 可以在dropna()中指定参数how='all',删除所有空行
data1=data.dropna()
print(data1)
'''
'''
# 只删除特定数据为空的行
data1=data[data['age'].notnull()]
print(data1)
# 缺失值填充,一般超过30%不考虑;
#一般用0,均值,众数
data['age']=data['age'].fillna(0)
print(data)

'''
'''
# 重复数据处理
# 判断每一行数据是否重复
data.duplicated()
# 去除全部重复数据
data.drop_duplicates()
# 去除指定列的重复数据
data.drop_duplicates(['age'])
# 保留重复行最后一行
data.drop_duplicates(['age'],keep='last')
# 删除重复项,生成副本
data1=data.drop_duplicates(['age'],inplace=False)
'''

'''
# 异常值的检测与处理
# 异常值是指超出正常范围的值
# 通常的检测方法:给定范围;均方差;箱型图
# 删除异常值
#通过均方差:
# 创建一个包含异常值的数据集
data = pd.DataFrame({'A': [1, 2, 3, 4, 100]})

# 计算数据的均值和标准差
mean = data['A'].mean()
std = data['A'].std()

# 定义异常值的阈值为均值加减3倍标准差
threshold = 3 * std
print(mean,std,threshold)

# 删除超过阈值的异常值
data = data[abs(data['A'] - mean) <= threshold]

print(data)

#箱型图
# 绘制箱型图
import matplotlib.pyplot as plt
plt.boxplot(data['A'])
plt.show()

# 使用箱型图判断异常值
q1 = data['A'].quantile(0.25)
q3 = data['A'].quantile(0.75)
iqr = q3 - q1
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr

# 删除异常值
data = data[(data['A'] >= lower_bound) & (data['A'] <= upper_bound)]

print(data)
'''
# 数据排序 主要用sort_values()
# 按列排序
data1= data.sort_values(by='age',ascending=False)
print(data1)
# 先分组再排序
data2=data.groupby(['gender'])['income'].sum().reset_index()
data2=data2.sort_values(by='income')
print(data2)
# 按行排序
data3=data.sort_values(by=0)
print(data3)
# 数据排名 rank(),顺序排名:根据在原始数据中的出现顺序
#平均排名
data['平均排名']=data['income'].rank(ascending=False)
print(data[['uid','income','平均排名']])

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值