1 分布分析:
发现各个维度下数据的分布情况
研究数据分布特征和分布类型;
主要统计量:极差 大小反应分布情况是否稳定
频率分布情况: 一般用直方图 分组区间使用pd.cut . 累积频率.cumsum()
定量一般用直方图 。 定性字段一般用饼图
分组组距及组数
2 对比分析
绝对数比较
相对数比较
3 统计分析
集中趋势度量:
算数平均数 .mean()
位置平均数:中位数。median() 。 众数.mode()、。。。
离中趋势度量
极差
分位差 样本描述性统计.describe() . 四分之三位数/四分之一位数
方差、标准差
4 帕累托分析 (贡献度分析) 二八定律
首先对目标数据进行排序:
data.sort_values(0,ascending = False,inplace=True)
然后求出累计占比:
data['累计占比'] = data[0].cumsum()/data[0].sum()
*** 图表:
plt.figure(figsize=(16,7))data[0].plot(kind='bar', color='g',title='haha')plt.xticks(rotation=0)data['累计占比'].plot(style = '--ko', secondary_y = True)plt.axvline(6,color='r',linestyle='--')plt.show()
5 正态性检验
data = pd.DataFrame(np.random.randn(1000)*1000+16,columns=['value'])fig = plt.figure(figsize=(16,10))ax1 = fig.add_subplot(2,1,1)ax1.scatter(data.index,data.value) #散点图ax2=fig.add_subplot(2,1,2)ax2.hist(data['value'],bins=50) #直方图plt.show()
理论推导:
直接使用函数
from scipy import statsu = data['value'].mean()std = data['value'].std()stats.kstest(data['value'],'norm',(u,std))
6 相关性分析
首先检验数据是否符合正态分布,
如果符合使用皮尔森相关系数:data.corr()
不符合的话使用 斯皮尔曼相关系数:data.corr(method='spearman')
7 数据处理
判断是否有缺失值 :
data.isnull() / data.notnull()返回布尔型结果
删除缺失值
data.dropna(inplace=True)
替换缺失值:
data.fillna('填充的值',inplace=True) data.fillna(method='pad') . 用之前的值填充 。 backfill用之后的值填充
拉格朗日插值法填充数据:
def f(s,n,k=5): y = s[list(range(n-k,n+k+1))] y = y[y.notnull()] return lagrange(y.index,list(y))(n)for i in range(len(data)): if data[0].isnull()[i]: data[0][i] = f(data[0],i) print(f(data[0],i))
数据标准化:
0-1 标准化
def f(df,*cols):• df_n = df.copy()• for col in cols:• ma = df_n[col].max()• mi = df_n[col].min()• df_n[col+'_n'] = (df_n[col]-mi) / (ma-mi)• return df_ndf_n = f(data,'value1','value2')df_n
z-score标准化
z-score 标准化 把非标准正太分布 换成标准正太腹部 (值-平均值)/标准差
def f_z(df,*cols):• df_z = df.copy()• for col in cols:• me = df_z[col].mean()• std = df_z[col].std()• df_z[col+'_z'] = (df_z[col]-me) / std• return df_zdf_z = f_z(data,'value1','value2')df_z
数据连续属性离散化
等宽法:
#cut *** 划分区间bins = [1,30,50,100]cats = pd.cut(data['age'],bins,right=False)data['age_a'] = cats
等频法:
#等频划分 按照分位数划分 以相同的数量记录到某个区间# qcut *** data = pd.Series(np.random.rand(1000))cats = pd.qcut(data,10)cats.value_counts(sort=False)
周末在家宅着,刷了不少的网页,发现很多网站都没有优化它的加载速度,有时打开一个网页要等待10来秒才能加载完成,虽然网页内容很不错,但是给我的第一印象就是慢,不能忍啊! 其实有很多简单粗暴,又很有...
第一类,主要就是效果非常牛叉的网络广告,比如百度、腾讯、360什么的,这类型的网络巨头首先拥有海量的用户,而且用户的年度也很高,而且还非常精准,网络巨头可以分析网友用户们的兴趣、行为、信息、关注领域等...
用手机赚钱的app有很多,比如快手、火山小视频拍视频赚钱。还可以通过手机试玩赚钱。 今天给大家推荐一款今日头条旗下的悟空问答答题赚钱应用,悟空问答原是头条问答,2017年更名为悟空问答,悟空问答平台...
对于喜欢写作的人来说,专注于从搜索引擎优化写作中赚钱,当然你还需要的深思熟虑、周密计划、热血(嗯,不完全是)、汗水和泪水,我终于为它破釜沉舟,独自一人成立了。这是我做过的最好的事情。如果你在一个类似的...
我们经常去野外去游玩和踏青,但是去野外也不全是愉快的事情,有时候就会被蜂蜇到,万一被蜂蜇到的话,其痛苦不言而喻的,不但肿胀难受,有的还会有毒,被蜜蜂蛰了怎么办? 7种方法告诉你,以备急用! 被蜂螫后...
日常生活中,我们常用微信扫描各种张贴的二维码,那么手机里的二维码图片该如何扫描呢? 进入相册,选择并点击需要扫描的二维码图片。 进入“扫码”页面后,选择右上角的“相册”。 选择导航栏里的“发...