数据特征分析:1.分布分析

几个基础分析思路:

分布分析、对比分析、统计分析、帕累托分析、正态性检测、相关性分析

分布分析

分布分析是研究数据的分布特征和分布类型,分定量数据、定性数据区分基本统计量。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
% matplotlib inline
#读取数据
data = pd.read_csv(r‘C:\Users\Administrator\Desktop\python数据分析\深圳罗湖二手房信息.csv‘,
                   engine = ‘python‘)
data.head()

plt.scatter(data[‘经度‘], data[‘纬度‘], #做个简单的三角图,按照经纬度作为它的X Y轴
                s = data[‘房屋单价‘]/500, #按照房屋的单价来控制图形的大小
                c = data[‘参考总价‘], cmap = ‘Reds‘,#按照参考总价来显示颜色
                alpha = 0.4)        #########plt.scatter()散点图

如果有底图就可以把它的位置给分布出来;点越大代表房屋的单价越高,颜色越深代表总价越高;

通过数据可见,一共8个字段
 定量字段:房屋单价,参考首付,参考总价,*经度,*纬度,*房屋编码
 定性字段:小区,朝向

1.极差

#极差
def d_range(df, *cols):
    krange = [] #空列表,为了保持它的值
    for col in cols:
        crange = df[col].max() - df[col].min()
        krange.append(crange)
    return (krange)  ##创建函数求极差
key1 = "参考总价"
key2 = "参考首付"
dr = d_range(data, key1, key2)
print("%s极差为:%f \n%s极差为:%f"% ( key1, dr[0], key2, dr[1])) #求出数据对应列的极差
参考总价极差为:175.000000
参考首付极差为:52.500000

从极差中看到销售的稳定程度

2. 频率分布情况:定量字段(① 通过直方图直接判断分组组数)

#频率分布情况(通过直方图直接判断分组组数)
data[key1].hist(bins = 8) #简单查看数据分组,确定分组组数 --->>一般8-16组,这里按照8组为参考

可以看出主要集中在160万以上,60万以下。

频率分布的划分方式:直方图可以快速的看到它的排列情况,把它拆分:分组划分

频率分布情况:定量字段(②求出分组区间)

#频率分布情况,分组区间
gcut = pd.cut(data[key1], 10, right = False) #分成10份,是否包含末端值选False
gcut
gcut_count = gcut.value_counts(sort = False) #做一个统计,不排序
gcut_count

# pd.cut(x, bins, right):按照组数对x分组,且返回一个和x同样长度的分组dataframe,right → 是否右边包含,默认True
# 通过groupby查看不同组的数据频率分布

data[‘%s分组区间‘% key1] = gcut.values
data.head()

频率分布情况:定量字段(③ 求出目标字段下频率分布的其他统计量 → 频数,频率,累计频率)

分组情况,做累计频率的分组情况

#区间出现频率
r_zj = pd.DataFrame(gcut_count)
r_zj.rename(columns = {gcut_count.name:‘频数‘}, inplace = True) #重命名下,修改频数字段名
r_zj[‘频率‘] = r_zj[‘频数‘]/r_zj[‘频数‘].sum()       #计算频率
r_zj[‘累计频率‘] = r_zj[‘频率‘].cumsum()     #计算累计频率
r_zj[‘频率%‘] = r_zj[‘频率‘].apply(lambda x:"%.2f%%"% (x*100)) #以百分比显示频率
r_zj[‘累计频率%‘] = r_zj[‘累计频率‘].apply(lambda x:"%.2f%%"% (x*100)) #以百分比显示累计频率
r_zj.style.bar(subset = [‘频率‘, ‘累计频率‘]) #可视化显示

频率分布情况:定量字段(④ 绘制频率直方图)

#直方图
r_zj[‘频率‘].plot(kind = ‘bar‘,
                figsize = (12, 2),
                grid = True,
                color = ‘k‘,
                alpha = 0.4 ) #plt.title(‘参考总价分布频率直方图‘)
x = len(r_zj)
y = r_zj[‘频率‘]
m = r_zj[‘频数‘]

for i, j, k in zip(range(x), y, m):
    plt.text(i - 0.1, j + 0.01, ‘%i‘% k, color = ‘k‘)
#添加频率标签

频率分布情况 - 定性字段( ① 通过计数统计判断不同类别的频率)

# 频率分布情况 - 定性字段
# ① 通过计数统计判断不同类别的频率
cx_g = data[‘朝向‘].value_counts(sort = True)
print(cx_g)
# 可视化显示
r_cx = pd.DataFrame(cx_g)
r_cx.rename(columns ={cx_g.name:‘频数‘}, inplace = True)  # 修改频数字段名
r_cx[‘频率‘] = r_cx / r_cx[‘频数‘].sum()  # 计算频率
r_cx[‘累计频率‘] = r_cx[‘频率‘].cumsum()  # 计算累计频率
r_cx[‘频率%‘] = r_cx[‘频率‘].apply(lambda x: "%.2f%%" % (x*100))  # 以百分比显示频率
r_cx[‘累计频率%‘] = r_cx[‘累计频率‘].apply(lambda x: "%.2f%%" % (x*100))  # 以百分比显示累计频率
r_cx.style.bar(subset=[‘频率‘,‘累计频率‘], color=‘#d65f5f‘,width=100)

频率分布情况 - 定量字段( ② 绘制频率直方图、饼图)

# 频率分布情况 - 定量字段
# ② 绘制频率直方图、饼图

plt.figure(num = 1,figsize = (12,2))
r_cx[‘频率‘].plot(kind = ‘bar‘,
                 width = 0.8,
                 rot = 0,
                 color = ‘k‘,
                 grid = True,
                 alpha = 0.5)
plt.title(‘参考总价分布频率直方图‘)
# 绘制直方图

plt.figure(num = 2)
plt.pie(r_cx[‘频数‘],
       labels = r_cx.index,
       autopct=‘%.2f%%‘,
       shadow = True)
plt.axis(‘equal‘)
# 绘制饼图

原文地址:https://www.cnblogs.com/shengyang17/p/9625403.html

时间: 2024-10-09 19:52:11

数据特征分析:1.分布分析的相关文章

机器学习之数据探索——数据特征分析(分布分析)

数据特征分析与数据质量分析一道构成数据探索的两方面工作,在前文中介绍过关于数据质量分析的概况,本文将对数据特征分析作简介,并着重于分布分析的角度,相比于数据质量分析,数据特征分析更注重于找寻数据间的关系. 数据特征分析包括以下几个分析角度: 1.分布分析 2.对比分析 3.统计量分析 4.帕累托分析 5.正态性检验 6.相关性分析 其上每一个分析角度都有丰富的内容. 分布分析 顾名思义,分布分析研究数据的分布特征和分布类型.对于定量数据,需要了解分布形式,发现某些特大特小的异常值,通常用到散点图

数据分析之数据质量分析和数据特征分析

1.数据质量分析 数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础,没有可信的数据,数据挖掘构建的模型将是空中楼阁. 数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据一般是指不符合要求,以及不能直接进行相应分析的数据.在常见的数据挖掘工作中,脏数据包括: (1)缺失值:     (2)异常值:     (3)不一致的值:     (4)重复数据及含有特殊符号(如#.¥.*)的数据. 1.1缺失值分析        数据的缺失

「数据挖掘入门系列」数据探索之数据特征分析

对数据质量进行简单的分析后,我们就可以开始来分析数据的特征分析了.数据的特征分析可以从以下几个方面开展: 分布分析 对比分析 统计量分析 周期性分析 相关性分析 通过以上5种方式,可以找到数据中存在的某种特征. 分布分析 分布分析很容易理解,就是理解数据的分布情况.例如:在0-100区间有多少数据.100-1000有多少数据等等.我们一般可以使用直方图.饼图来展示数据的分布情况. 分布分析可以分为两种类型: 定量数据分布分析 定性数据分布分析 定量数据分布分析就是把数据分成一个个固定的区间,然后

运维监控大数据的提取与分析

本文内容整理来自[敏捷运维大讲堂]蒋君伟老师的线上直播分享.分别从以下3个维度来分享:1.云时代监控分析的窘境:2.使用标签标记监控数据的维度:3.监控数据应用场景. 云时代监控分析的窘境 在虚拟化与容器技术广泛应用的情况下,运维对象大规模地增长,监控平台每天存储的指标都以亿计,所以监控数据如今已经成了大数据.传统的监控工具在这种场景下,对于数据的提取分析,已经力不从心,反而成为了运维的负担. 我们用一个典型的互联网档案分析应用举例说明: 这个应用支持容灾与负载均衡,它部署在三个数据中心,并同时

数据分析与展示——Pandas数据特征分析

Pandas数据特征分析 数据的排序 将一组数据通过摘要(有损地提取数据特征的过程)的方式,可以获得基本统计(含排序).分布/累计统计.数据特征(相关性.周期性等).数据挖掘(形成知识). .sort_index()方法在指定轴上根据索引进行排序,默认升序 .sort_index(axis=0, ascending=True) In [1]: import pandas as pd In [2]: import numpy as np In [3]: b = pd.DataFrame(np.ar

必贝yo对企业大数据的处理与分析

必贝yo对企业大数据的处理与分析随着两化深度融合的持续推进,全面实现业务管理和生产过程的数字化.自动化和智能化是企业持续保持市场竞争力的关键.在这一过程中数据必将成为企业的核心资产,对数据的处理.分析和运用将极大的增强企业的核心竞争力.但长期以来,由于数据分析手段和工具的缺乏,大量的业务数据在系统中层层积压而得不到利用,不但增加了系统运行和维护的压力,而且不断的侵蚀有限的企业资金投入.如今,随着大数据技术及应用逐渐发展成熟,如何实现对大量数据的处理和分析已经成为企业关注的焦点.对企业而言,由于长

【数据可视化】可视分析流程

图1是典型的可视分析流程图,起点是输入的数据,终点是提炼的知识.同样,从数据到知识,知识再到数据,数据再到知识的循环过程.从数据到知识有两个途径:交互的可视化方法和自动的数据挖掘方法.这两个途径的中间结果分别是对数据的交互可视化结果和从数据中提炼的数据模型.用户既可以对可视化结果进行交互的修正,也可以调节参数以修正模型.从数据中洞悉知识的过程也主要依赖两条主线的互动与协作[1,2]. 图1 欧洲学者DanielKeim等人提出的可视化分析学标准流程 数据可视化分析流程中的核心要素包括四个方面:

捕获网络数据包并进行分析的开源库-WinPcap

什么是WinPcap WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库. 大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets.  这是一种简单的实现方式,因为操作系统 已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的,令人熟悉的接口. 然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需要直接访问网 络中的数据包.也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利

结合centreon监控平台,对rrdtool的数据进行二次分析highchart展现

不知道,是不是所有的公司都会非常勤劳每个星期统计公司IDC的负载情况.如果有这方面需求,这个工作基本都是通过cacti或者centreon等等监控平台,手动选择特定时间特定服务的使用情况,如负载和内存等.最近有个需求,是要统计一天6个时间段的网络流量最大值和最小值,并登记入册.一般方法又是登陆监控平台,然后选择特定时间出图,然后再进行统计.这个方法,我真想说弱爆了,而我之前就一直重复着这样的工作.这次我打算利用自己不太娴熟的django.python.rrdtool.highcharts.jqu