python:数据统计及数据可视化
本文主要介绍数据统计及数据可视化的常用方法,包括数据字段的统计,柱状图的绘制等
·
一、前言
本篇博客主要讲解数据统计及数据可视化的常用方法
二、数据集
- 数据来源:
在慕课网下载的数据:
三、数据统计分析
1、读取数据并查看基本信息
- 导入数据科学包:
# 导入数据科学工具包
import numpy as np
import pandas as pd
import seaborn
- 读取数据:
#读取数据
data=pd.read_csv('C:/Users/abc/Desktop/dataset/test.csv',encoding="ANSI")
#取消最大显示行数和列数限制
pd.options.display.max_columns=None
pd.options.display.max_rows=None
#读取数据表的前5行
data.head()
结果:
- 查看数据的基本信息
#查看数据尺寸
print(data.shape)
#查看数据数量
print(data.size)
#查看字段类型
print(data.dtypes)
#查看数据信息
print(data.info())
结果如下:
- 对数值型数据做一些统计:
describe()方法
#数据描述:只统计数值型数据
data.describe()
2、分类数据的统计
(1)统计字段不同取值的数目
data['字段名'].value_counts()
(2)统计字段不同取值的占比
data["字段名"].value_counts(normalize=True)
3、数值型数据的统计
(1)cut函数
- 基本使用
-
right参数
是否包含右侧数据,默认包含右侧区间
-
bin参数
-
对数值型数据进行分箱处理
分箱:把一个大区间的数据分成多个小区间的数据,然后可以统计每个小区间的数据量、数据量的占比情况等指标
df_tenure_boxes, df_tenure_boxes_labels = pd.cut(data['tenure'], bins=[-111, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 8500], right=False, retbins=True, include_lowest=True)
数据量统计结果:
数据占比统计结果:
(2)
对数值型的数据进行描述:
4、其他数据统计
- 查看数据的指定列
四、数据可视化
1、柱状图
- 对数值型数据进行分箱处理
df_tenure_boxes, df_tenure_boxes_labels = pd.cut(data['tenure'], bins=[-111, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 8500], right=False, retbins=True, include_lowest=True)
- 统计不同区间的数据各自的数据量
df_tenure_boxes.value_counts()
结果:
- 分箱数据的label值,即每个区间的端点值
df_tenure_boxes_labels
结果:
- 统计每个区间的数据记录数
df_tenure_boxes.value_counts().sort_index().values
结果:
- 绘制柱状图
#绘制柱状图
import matplotlib.pyplot as plt
#设置画布的大小
plt.figure(figsize=(20, 10))
#柱状图:bar
plt.bar(range(22), df_tenure_boxes.value_counts().sort_index().values, tick_label=df_tenure_boxes.value_counts(normalize=True).sort_index().index)
plt.show()
结果:
2、密度分布直方图
sns.distplot(data['tenure'])
plt.show()
结果:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)