数据标准化
无量纲化
0-1标准化
data['scale']=round(dta.score-data.score.min()/(data.score.max()-data.score.min()),2)
数据分组
根据数据分析对象的特征,按照一定的数值指标,把数据分析对象划分为不同的区间进行研究。——分档
函数:
cut(series,bins,right=True,labels=NULL)
- bins:分组的划分数组
- right:分组的时候,右边是否闭合
- labels:分组的自定义标签
时间处理
时间转换:将字符型的时间格式数据转换为时间型数据。
时间转换函数:
datatime=pd.to_datatime(dataString,format)
时间格式化:将时间型数据按照指定格式转换为字符型数据。
时间格式化函数:
dateTimeFormat=datetime.dt.strftime(format)
时间属性抽取:从日期格式里抽取需要的部分,如月、日。
抽取语法:
datetime.dt.property
时间抽取
根据一定的条件,对时间格式的数据进行抽取。
- 根据索引进行抽取
-
- DataFrame.ix[start:end]
- DataFrame.ix[dates]
- 根据时间列进行抽取
-
注意:df.ix[]:通过行号或行标签索引。
虚拟变量 dummy variables
虚拟变量,也叫哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响。
- 离散特征取值之间有大小意义:尺寸(L,M)
-
- 离散特征取值之间无大小意义:颜色(R,G)
-
具体:
pd.get_dummies(data,prefix=None,prefix_sep='_',dummy_na=False,columns=None,drop_first=False)
数据分析
基本统计
描述性统计分析函数:describe()
,一次性求得基本情况。
另外,还可用下表统计函数:
还有:
- 累计求和:cumsum
- 最大值最小值所在位置:argmin()、argmax()
- 百分位数:quantile()
分组分析
根据分组字段,将分析对象划分成不同的部分,以进行对比分析各组之间的差异性。
常用统计指标:计数、求和、平均值。
分组统计函数:
分布分析
将数据等距或者不等距的分组,进行研究各组分布规律。
交叉分析
分析两个或两个以上分组变量之间的关系,以交叉表的形式进行。
交叉计数函数(透视表):
pivot_table(values,index,columns,aggfunc,fill_value)
结构分析
在分组及交叉的基础上,计算各组成部分所占比重,进而分析总体的内部特征。
外运算:
内运算:
相关分析
研究两个或两个以上随机变量之间相互依存关系的方向和密切程度。
线性相关关系主要采用皮尔逊(Pearson)相关系数r来度量连续变量之间线性相关强度。
相关分析函数:
DataFrame.corr()
:计算每个列两两之间的相关度,返回DataFrame。
Series.corr(other)
:计算该序列与传入列之间的相关度,返回一个数值,即相关度。
RFM分析
根据客户活跃程度和交易金额贡献,进行客户价值分析。
RFM分析过程:
矩阵分析
根据事物(产品、服务等)的两个重要属性(指标)作为分析依据,进行关联分析(象限分析)。
数据可视化
散点图scatter
plot(x,y,'.',color=(r,g,b))
折线图
plt(x,y,style,color,linewith)
饼图
plt.pie(x,labels,colors,explode,autopct)
柱形图
bar(left,height,width,color)
barh(left,height,width,color)
直方图
hist(x,color,bins,cumulative=False)
地图
地图绘制步骤:
- 获取地图对象,获取每个区域的名字以及顺序;
- 在每个区域的名字和顺序后面,加上需要展示的数据及经纬度;
- 根据数据大小,设置每个区域展示颜色(0,1)。
- 根据颜色进行填充
- 根据经纬度进行标注地图的名字
需要安装Basemap库.
热力地图