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()
结果:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)