Python Pandas 分类/连续变量的探索性数据分析(附源码与数据)——pandas 描述性统计,交叉表,数据透视表

在这里插入图片描述
这是趣味统计的第 1 期分享
作者 l 萝卜

正式开始建模与处理数据前,对数据进行探索并有一个初步的认识非常重要,本文将围绕变量探索,展示分类、连续变量,以及两种类型变量结合的探索方法,并展示 Python Pandas 数据处理与可视化中的一些快捷常用骚操作~

注:本文数据与源代码在公众号 “ 数据分析与商业实践 ” 后台回复 “ 变量探索 ” 获取~~

在这里插入图片描述

分类变量

01 一个分类变量

一个分类变量的分析方法可考虑频次和百分比,用饼图或者柱状图表示都可以
在这里插入图片描述
我们也可以通过设置画布布局来同时显示两个连续变量的各自探索情况
在这里插入图片描述
在这里插入图片描述

02 两个分类变量

结合两个分类变量考量的分布情况可考虑使用交叉表 cross table

这里我们将探究每个地区的学区房分布情况:参数 margins 设置为 True 表示在最后一行与最后一列显示汇总统计 ALL
在这里插入图片描述
如果要将上述交叉表可视化,可考虑使用前人的轮子:一行代码快速绘制标准化的堆叠图,反映占比的同时还能看出每一类的数据量大小
在这里插入图片描述



连续变量

01 一个连续变量

直接进行描述性统计分析,以房价分布为例
在这里插入图片描述
在这里插入图片描述



02 两个连续变量

绘制散点图等关系图进行探索,以探寻房屋面积与价格的关系为例
在这里插入图片描述



连续变量 + 分类变量

01 一个分类 + 一个连续

groupby 分组 + 描述性统计分析,制造出分类变量下每类的单一的连续变量相当于求分类后的每类的统计量,groupby 后面不跟统计量的代码没有意义。

分类箱型图,柱形图等,两坐标轴中一个为分类变量,另一个为连续变量

统计量是样本的数值概要,用来描述样本;参数则是总体的数值概要

在这里插入图片描述
在这里插入图片描述

同理,也可绘制箱线图
在这里插入图片描述

02 两个分类 + 一个连续

使用数据透视表,即在两个分类变量探索时使用的交叉表的升级

先整体确定由两个分类变量构成的行索引 index 与列索引 columns,然后再将连续变量的统计量如 mean,medium 等放入数据框内部。透视表函数中的部分参数与交叉表一样,只是多了处理连续变量的参数。

以求每个区域有无地铁时的房屋均价,发现无论在哪个区,有地铁的房屋价格均高于无地铁的。
在这里插入图片描述
当然,我们也可以尝试 “ 三个分类变量 + 一个连续变量 ”:
在这里插入图片描述
上透视表的理解步骤如下:

  1. 参数 index 在 columns 前,表示行索引 index 将会根据地区 dist 来划分。

  2. 参数 columns 中的列表顺序,school 在 subway 前,表示 index 分完后,列索引先根据学区房的有无来划分,而后再添加有无地铁这个划分标准。

即划分好地区后,求在有无学区房的前提情况下,是否有地铁时的房屋均价。如朝阳区的房子在无学区房的情况下,有地铁和没有地铁时的房屋均价分别是多少。



小结

本文以常见的房价数据集为例,展示了探索分类变量与连续变量的方法,涉及了一些细节数据可视化操作;交叉表,数据透视表,频数统计,分组统计等 Pandas 数据处理操作。这些都是探索数据过程中不可或缺的基础操作,熟练掌握很有必要😀

注:本文数据与源代码在公众号 “ 数据分析与商业实践 ” 后台回复 “ 变量探索 ” 获取~~

后续会不断更新常见场景下的 Python 实践
在这里插入图片描述

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Pythonpandas库中,可以使用pivot_table函数来创建数据透视表。pivot_table函数有几个重要的参数,包括index、values、columns和aggfunc。其中,index参数指定了数据透视表的行索引,values参数指定了要聚合的数值列,columns参数指定了数据透视表的列索引,aggfunc参数指定了聚合函数,默认为'mean'。\[1\]\[2\] 下面是一个示例代码,展示了如何使用pivot_table函数创建数据透视表: ```python import pandas as pd import numpy as np # 读取数据 df = pd.read_csv('h:/James_Harden.csv', encoding='utf8') # 创建数据透视表 pivot_table = pd.pivot_table(df, index=\['主客场'\], columns=\['对手'\], values=\['得分'\], aggfunc=\[np.sum\], fill_value=0, margins=True) # 打印数据透视表 print(pivot_table) ``` 在这个示例中,我们使用了一个名为James_Harden.csv的数据集,并根据主客场和对手两个列创建了一个数据透视表。聚合函数使用了np.sum,示对得分进行求和。同时,我们还设置了fill_value参数为0,示在缺失值处填充0。最后,我们将margins参数设置为True,以显示总计行和列。\[3\] 希望这个回答能够帮到你! #### 引用[.reference_title] - *1* *2* *3* [Python: 一文看懂pandas的透视pivot_table](https://blog.csdn.net/Ghjkku/article/details/125290544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值