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()

结果:
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值