航空公司客户价值分析

航空公司客户价值分析

数据探索分析

对于数据进行简单的统计量的分析,对于数据有个整体的大概认识

datafile = 'G:/python/taidi/data_code/chapter7/demo/data/air_data1.csv'
resultfile = 'G:/python/taidi/data_code/chapter7/demo/data/explore.xls'
import pandas as pd
data = pd.read_csv(datafile, encoding = 'utf-8')

explore = data.describe(percentiles = [], include = 'all').T #per参数是指定计算多少的分位数;T是转置,方便查阅
explore['null'] = len(data)-explore['count'] #describe会自动计算非空值数,空值数量需要手动计算

explore = explore[['null','max','min']]
explore.columns = [u'空值数',u'最大值',u'最小值'] #表头重命名,只选取部分探索结果

explore.to_excel(resultfile)

需要注意的是,只要涉及到文件的编码问题就一定会报错,需要手动转换文件的编码格式。

数据的预处理

数据清洗

  • 丢弃票价为空的记录
  • 丢弃票价为0,平均折扣率不为0、总飞行公里数大于0的记录
# 数据清洗,过滤所有不符合要求的数据
import pandas as pd
datafile='G:/python/taidi/data_code/chapter7/demo/data/air_data1.csv'
cleanedfile='G:/python/taidi/data_code/chapter7/demo/data/data_cleaned.xls'

data = pd.read_csv(datafile, encoding = 'utf-8')

data=data[data['SUM_YR_1'].notnull()*data['SUM_YR_2'].notnull()] #票价值非空才保留

#只保留票价非零的,或者平均折扣率与总飞行公里数同时为0的记录
index1 = data['SUM_YR_1'] != 0
index2 = data['SUM_YR_2'] != 0
index3 = (data['SEG_KM_SUM'] == 0) & (data['avg_discount'] == 0)
data = data[index1 | index2 | index3]

data.to_excel(cleanedfile)

这里面我掌握地比较生疏的是dataframe的运算

data=data[data['SUM_YR_1'].notnull()*data['SUM_YR_2'].notnull()] #票价值非空才保留

这里面data[‘SUM_YR_1’].notnull()返回值是一个包含布尔值的Series,data['SUM_YR_1'].notnull()的返回值两个Series相乘,只保留同为True的值。

属性规约以及数据变换

只需保留对于分析有意义的指标,不需要的可以删除。有的指标没有直接给出但是可以经过已有的数据计算得到。

标准差标准化

。。。

后面的部分感觉可以用R处理,并且更加简洁,先不写了,有空回来填坑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值