python 里面zip() 函数的用法
subplot2grid
分析与准备数据—开会与讨论
4.1.1 加载数据集
Step.1 通过pandas来导入csv:查看一下数据的基本情况,可以看到, 整个数据集有3333条数据, 21个维度, 最后一列是分类
import warnings
warnings.filterwarnings('ignore') #警告
from __future__ import division # 精确除法,“/”操作执行的是截断除法
import pandas as pd
import numpy as np
churn_df = pd.read_csv('churn.csv')
col_names = churn_df.columns.tolist() #所有的列展示出来
print("Column names:")
print(col_names)
Step.2 基本信息以及类型
to_show = col_names[:6] + col_names[-6:] #前6列和后6列
print("\nSample data:")
churn_df[to_show].head(6)
churn_df.info() #主要是看有没有缺失值
churn_df.describe()
#describe() 可以返回具体的结果, 对于每一列。
#数量 平均值 标准差 25% 分位 50% 分位数 75% 分位数 最大值 很多时候你可以得到NA的数量和比例。
4.1.2 探索性数据分析
- Step1.特征自己的信息
#特征自己的信息
#我们先来看一下流失比例, 以及关于打客户电话的个数分布
import matplotlib.pyplot as plt
%matplotlib inline
fig = plt.figure()
fig.set(alpha = 0.3) #设定图表颜色的alpha参数.
plt.subplot2grid( (1,2) ,(0,0) ) #图像几行几列,从0行0列开始
#取值的数量 false 远比true 要多
##把用户是否流失累加起来,流失的累加起来,没有流失的累加起来
churn_df['Churn?'].value_counts().plot(kind = 'bar')
plt.title(u"stat for churn") # 设置标题
plt.ylabel(u"number") #流失与否的数量,一共3333行,没有流失的约占2700 ,流失的占500左右
plt.subplot2grid((1,2),(0,1))
#线性,柱状 ,折线,核密度图
#line bar barsh kde
#客服电话数量
churn_df['CustServ Calls'].value_counts().plot(kind = 'bar')
plt.title(u"stat for cusServCalls") # 标题
plt.ylabel(u"number") #客户打1个客服电话的有1400个左右,客户.....总计加起来有3333个
import matplotlib.pyplot as plt
%matplotlib inline
fig = plt.figure()
fig.set(alpha=0.2) # 设定图表颜色alpha参数
plt.subplot2grid((1,3),(0<