航空公司客户价值分析-KMeans聚类

航空公司客户价值分析-KMeans聚类

import numpy as np
import pandas as pd
data = pd.read_csv(r'***\chapter7\demo\data\air_data.csv', encoding='utf-8')
data.head()
MEMBER_NO FFP_DATE FIRST_FLIGHT_DATE GENDER FFP_TIER WORK_CITY WORK_PROVINCE WORK_COUNTRY AGE LOAD_TIME ... ADD_Point_SUM Eli_Add_Point_Sum L1Y_ELi_Add_Points Points_Sum L1Y_Points_Sum Ration_L1Y_Flight_Count Ration_P1Y_Flight_Count Ration_P1Y_BPS Ration_L1Y_BPS Point_NotFlight
0 54993 2006/11/02 2008/12/24 6 . 北京 CN 31.0 2014/03/31 ... 39992 114452 111100 619760 370211 0.509524 0.490476 0.487221 0.512777 50
1 28065 2007/02/19 2007/08/03 6 NaN 北京 CN 42.0 2014/03/31 ... 12000 53288 53288 415768 238410 0.514286 0.485714 0.489289 0.510708 33
2 55106 2007/02/01 2007/08/30 6 . 北京 CN 40.0 2014/03/31 ... 15491 55202 51711 406361 233798 0.518519 0.481481 0.481467 0.518530 26
3 21189 2008/08/22 2008/08/23 5 Los Angeles CA US 64.0 2014/03/31 ... 0 34890 34890 372204 186100 0.434783 0.565217 0.551722 0.448275 12
4 39546 2009/04/10 2009/04/15 6 贵阳 贵州 CN 48.0 2014/03/31 ... 22704 64969 64969 338813 210365 0.532895 0.467105 0.469054 0.530943 39

5 rows × 44 columns

一、数据探索

explore = data.describe(percentiles = [], include = 'all').T
# percentils参数是指定计算多少的分位数,可不加该参数,此处是计算50%分位数,转置为了阅读方便
# describe()函数自动计算的的字段有count(非空值数),unique(唯一值数),top(频数最高者),freq(最高频数),mean(平均数),std, min, 50%, max
explore.head()
count unique top freq mean std min 50% max
MEMBER_NO 62988 NaN NaN NaN 31494.5 18183.2 1 31494.5 62988
FFP_DATE 62988 3068 2011/01/13 184 NaN NaN NaN NaN NaN
FIRST_FLIGHT_DATE 62988 3406 2013/02/16 96 NaN NaN NaN NaN NaN
GENDER 62985 2 48134 NaN NaN NaN NaN NaN
FFP_TIER 62988 NaN NaN NaN 4.10216 0.373856 4 4 6
explore['null'] = len(data)-explore['count']  #生成一列空值数
explore.head()
count unique top freq mean std min 50% max null
MEMBER_NO 62988 NaN NaN NaN 31494.5 18183.2 1 31494.5 62988 0
FFP_DATE 62988 3068 2011/01/13 184 NaN NaN NaN NaN NaN 0
FIRST_FLIGHT_DATE 62988 3406 2013/02/16 96 NaN NaN NaN NaN NaN 0
GENDER 62985 2 48134 NaN NaN NaN NaN NaN 3
FFP_TIER 62988 NaN NaN NaN 4.10216 0.373856 4 4 6 0
#导入属性信息表
shuxing = pd.read_excel(r'***\chapter7\demo\data\客户信息属性说明.xls')
shuxing.head()
属性中文 属性英文 备注
0 会员卡号 MEMBER_NO NaN
1 入会时间 FFP_DATE 办理会员卡的开始的时间
2 第一次飞行日期 FIRST_FLIGHT_DATE NaN
3 性别 GENDER NaN
4 会员卡级别 FFP_TIER NaN
#合并表
explore1 = pd.merge(explore, shuxing, left_index=True, right_on='属性英文' ,how ='left' )
explore1
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值