Python数据挖掘 数据预处理案例(以航空公司数据为例)

Python数据预处理

一、内容:

1、数据清洗
2、数据集成
3、数据可视化

二、实验数据

根据航空公司系统内的客户基本信息、乘机信息以及积分信息等详细数据,依据末次飞行日期( LAST_FLIGHT_DATE),以2014年3月31日为结束时间,选取宽度为两年的时间段作为分析观测窗口,抽取观测窗口2012年4月1日至2014年3月31日内有乘机记录的所有客户的详细数据形成历史数据,分为air_data01.xlsx、air_data02.xlsx总共62988条记录。其中包含了会员卡号、入会时间、性别、年龄、会员卡级别、工作地城市、工作地所在省份、工作地所在国家、观测窗口结束时间、观测窗口乘机积分、飞行公里数、飞行次数、飞行时间、乘机时间间隔、平均折扣率等44个属性,如下表2-1所示。
在这里插入图片描述

三、设计方案

1、数据清洗:

a.首先将数据进行统计性分析,查找每列属性观测值中的空值个数最大值、最小值。得到的分析结果表如下表3-1所示。通过对原始数据观察发现数据中存在票价为空值的记录,同时存在票价最小值为0、折扣率最小值为0但总飞行公里数大于0的记录。票价为空值的数据可能是客户不存在乘机记录造成的。其他的数据可能是客户乘坐0折机票或者积分兑换造成的。
在这里插入图片描述
b.紧接着是分别对air_data01、air_data02两个数据集进行读取,并进行重复数据筛选与删除,对绘制箱型图年龄和票价为空的记录等异常值进行发现与删除,保留清洗后的数据。

2.数据集成

这一步是将数据清洗后的air_data01、air_data02两个数据集合并存放在一个数据存储中(cleanedfile_finish.csv),目的是为了便于后续的数据挖掘工作。

3.数据可视化

使用数据集成后的新产生的多维数据集cleanedfile_finish.csv对数据进行可视化操作,并对表格中的统计数据完成直方图、饼图、条形图、箱型图、热力图的绘制。

四、实验结论

1、程序源代码

1)数据清洗

a、准备工作:

import pandas as pd
		import numpy as np
		import matplotlib.pyplot as plt

b、数据统计性分析:

datafile= 'air_data01.xlsx'  # 航空原始数据,第一行为属性标签
resultfile = 'explore.csv'  # 数据统计性分析结果表
data = pd.read_excel(datafile)
datafile2= 'air_data02.xlsx'  
resultfile2 = 'explore2.csv' 
data2 = pd.read_excel(datafile2)
explore = data.describe(percentiles = [], include = 'all').T  # T是转置
explore['null'] = len(data)-explore['count']  
explore = explore[['null', 'max', 'min']]
explore.columns = ['空值数', '最大值', '最小值']  # 表头重命名
explore.to_csv('resultfile.csv')  # 导出结果
explore2 = data2.describe(percentiles = [], include = 'all').T  # T是转置
explore2['null'] = len(data)-explore2['count']
explore2 = explore2[['null', 'max', 'min']]
explore2.columns = ['空值数', '最大值', '最小值'] 
explore2.to_csv('resultfile2.csv') 
datatemp = pd.concat([explore,explore2],axis=0)
datatemp.to_csv('data_Statistical analysis.csv') # 导出最终结果

通过对原始数据观察发现数据中存在票价为空值的记录,同时存在票价最小值为0、折扣率最小值为0但总飞行公里数大于0的记录。票价为空值的数据可能是客户不存在乘机记录造成的。其他的数据可能是客户乘坐0折机票或者积分兑换造成的。所以后面我们将对这一部分数据进行清除操作。

c、对数据集进行读取:

df1 = pd.read_excel('air_data01.xlsx')
df2 = pd.read_excel('air_data02.xlsx')
对重复数据进行删除:
def df_drop(df): #删除重复数据
  	print("yunxingle")
df_1 = df.duplicated() #进行重复判断
  	print("重复判断\n:",df_1)
  	df_2 = df[df.duplicated()]#显示重复数据sss
  	print("\n\n\n重复数据\n",df_2)
 	df_new = df.drop_duplicates() #删除重复数据
return df_new
df_drop(df1)
df_drop(df2)

d、对缺失行进行删除:

def df_kong(df):
 	df_1 = df.apply(lambda col:sum(col.<
课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上),,该项目是个人大作业项目,答辩评审分达到99分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告(97分以上)
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值