python之航空公司客户价值分析 (二)

python之航空公司客户价值分析 (二)


本案例数据预处理主要包括数据清洗、属性规约与数据变换。

数据清洗

本案例数据及代码请自行下载:航空公司客户价值数据以及代码
数据中需要去除缺失值,票价为0的值,折扣率为0且总行程公里大于0的值。

import pandas as p
file_path = 'C:\\Users\\yangyukuan\\Desktop\\yan\\编程学习\\python\\chapter7\\demo\\data\\air_data.csv'
cleaned_file = 'C:\\Users\\yangyukuan\\Desktop\\cleaned.csv'
def main():
    data = pd.read_csv(file_path,encoding='utf-8')
    #去除空值所在的行
    data.dropna()
    #过滤列名为SUM_YR_1SUM_YR_2的空值数据,只保留票价金额不空的人
    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
    #只考虑一种,折扣率为0,总里程数为0,没坐过飞机,把他视为潜在客户
    index3 = (data['SEG_KM_SUM'] == 0) & (data['avg_discount'] == 0)
    data = data[index1 | index2 | index3]
    #导出为csv文档
    data.to_csv(cleaned_file)
if __name__ == '__main__':
    main()

数据规约

原始数据中属性太多,很多都用不到。我们只选择与我们要建的的模型相关的属性,选择与LRFMC指标相关的6个属性:FFP_DATE、LOAD_TIME、FLIGHT_COUNT、AVG_DISCOUNT、SEG_KM_SUM、LAST_TO_END。

import pandas as pd
file_path = 'C:\\Users\\yangyukuan\\Desktop\\cleaned.csv'
cleaned_file = 'C:\\Users\\yangyukuan\\Desktop\\guiyue.csv'
def main():
    data = pd.read_csv(file_path,encoding='utf-8')
    #构建一个表结构,只选择所需要的几列
    a = pd.DataFrame(data,columns = ['FFP_DATE','LOAD_TIME','FLIGHT_COUNT','AVG_DISCOUNT','SEG_KM_SUM','LAST_TO_END'])
    a.to_csv(cleaned_file)
if __name__ == '__main__':
    main()

数据变换

数据变换是将数据转换为适当的格式,以适应挖掘及算法的需要。本案例中数据变换方式为属性构造和数据标准化。
其中

  1. L = LOAD_TIME - FFP_DATE
  2. R = LAST_TO_END
  3. F = FLIGHT_COUNT
  4. M = SEG_KM_SUM
  5. C = AVG_DISCOUNT
import pandas as pd

file_path = 'C:\\Users\\yangyukuan\\Desktop\\z1.csv'
cleaned_file = 'C:\\Users\\yangyukuan\\Desktop\\z2.csv'

def main():
    data = pd.read_csv(file_path,encoding='utf-8')
    #标准化处理
    data = (data - data.mean())/data.std()
    data.columns = ['Z'+i for i in data.columns]
    data.to_csv(cleaned_file)
if __name__ == '__main__':
    main()

之后对处理后的数据进行聚类分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能驾驶小管家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值