像学Excel 一样学 Pandas系列-创建数据分析维度
嗨,小伙伴们。又到喜闻乐见的Python 数据分析王牌库 Pandas 的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。
老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。
其中,Pandas 的基础信息导入、数据导入和数据整理、数据探索和清洗已经在前几篇文章里聊过。
感兴趣的小伙伴,可以点击链接跳转观看。
像学Excel 一样学 Pandas系列-导入篇
像学Excel 一样学 Pandas系列-数据读取和合并篇
像学Excel 一样学 Pandas系列-数据探索和数据清洗
新增维度部分,是在完成数据探索,获取数据的现状,并且对脏数据完成清洗工作后的后道工序。而且,这部分非常的关键,很多分析场景下,需要做的挖掘分析,情况归类,都需要在维度新增里完成。
这个时候,Pandas 要开始变形了。为什么增加维度这么重要。
增加数据维度,是最终分析报告能获取到的分析颗粒度的有力支持。新增数据维度可以显著提升分析的深度和广度。
以我所在的汽车行业举例。
通过添加车辆特征维度(如发动机类型、驱动方式、燃油效率),可以更全面地了解具备哪些特性的车型更受消费者欢迎。结合销售数据和客户反馈维度,可以精确分析哪些车型的特定问题(如燃油效率低、维修率高)影响了客户满意度。
合并增加利用车辆使用数据(如行驶里程、维修记录)和客户人口统计信息,可以深入洞察车辆的长期性能和客户的忠诚度。
按例,为了方便后续的演示,同样创建一个虚拟的Pandas DataFrame来演示维度新增的过程。这个DataFrame,包括车型、销售日期、销售数量、客户年龄和客户收入等字段。
import Pandas as pd
data = {
'车型': ['轿车', 'SUV', '轿车', 'SUV', 'MPV'],
'销售日期': pd.date_range(start='2024-01-01', periods=5, freq='D'),
'销售数量': [10, 15, 12, 20, 8],
'客户年龄': [34, 29, 45, 31, 41],
'客户收入': [5000, 7000, 6000, 8000, 5500]
}
df = pd.DataFrame(data)
01 数据分箱映射
为啥我这么爱 pandas。每次做车型价格带分析,最烦躁的就是,今天 5 万一个档做价格带切割,明天还得弹性切割。每次做分组映射,分分钟烦死个人。在 Pandas 这里,一个函数就搞定。
假定,我们要根据客户收入将客户分为不同的等级。你只需要在 imcome_map 里配置一个映射字典,描述清楚“低收入”,“中等收入”,“高收入”人群的收入加个分层。
然后,使用 pd.cut 函数,配置分区的边界值 bins 和每一个分组对应的 labels,就可以完成映射了。
下次老板再找你调收入等级,分分钟完成。
#income_map = {
# '低收入': [0, 3000],
# '中等收入': (3000, 7000],
# '高收入': (7000, np.inf)
#} #备注给人类看的,区分每一个分层的收入范围。
df['客户收入等级'] = pd.cut(df['客户收入'], bins=[0, 3000, 7000, np.inf],
labels=['低收入', '中等收入', '高收入'])
看看,是不是超容易,是不是超简单!
02 多字段综合规则研判维度增加
老板拿到分箱结果后,说不行,我们还得综合客户的年龄来判断这个人的收入水平。那么,基于客户年龄和收入,我们创建一个新列来标识是否为潜在的高端客户。这就涉及了多字段综合规则研判维度增加的问题了。
df['潜在高端客户'] = df.apply(lambda row: '是' if row['客户年龄'] > 35 and row['客户收入'] > 5000 else '否', axis=1)
这里用一个 df.apply 函数,结合 lambda 函数,快速锁定年龄小于 35 岁,收入大于 5000 的用户,并且判断未潜在高端用户。
年纪轻轻就高收入,确实潜力不小,哈哈哈。
03 维度表映射增加
假设我们有一个车型维度表,包含车型对应的市场定位信息。这里可以通过 pd.merge,数据合并映射的方式,将 car_dim 里的维度添加如 df 内,形成一个新的列,这个列名就是“市场定位”。
car_dim = {
'车型': ['轿车', 'SUV', 'MPV'],
'市场定位': ['家用', '家用', '商务']
}
model_df = pd.DataFrame(car_dim)
df = df.merge(model_df, on='车型', how='left')
这里有一个地方需要注意一下,你的车型和市场定位必须是一一映射匹配的关系。如果存在一对多的情况,使用 pdf.merge 就会分裂出新的数据行。
我们来看一个错误案例:我在 car_dim 里错误的将轿车的市场定位配置了两个类型,包含“家用”和“商务”。生成的结果数据里,每种情况,都分裂多出来的一条数据。这个,需要认真检查映射表字段的内容,是否严格遵守一一对应关系。
好啦,今天用超级简单的数据进行了数据维度新增的说明和演示。
如果小伙伴有其他想深入了解的内容,欢迎留言、关注、点赞、评论转发。您的每一份互动,都是我肝下去的动力。
相关文章:

像学Excel 一样学 Pandas系列-创建数据分析维度
嗨,小伙伴们。又到喜闻乐见的Python 数据分析王牌库 Pandas 的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。 老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。 其中,…...
Rust 基础教程
Rust 编程语言教程 Rust是一门注重安全、并发和性能的系统编程语言。本文将从Rust的基本语法、常用功能到高级特性,详细介绍Rust的使用方法。 目录 简介环境配置基础语法 变量和常量数据类型函数控制流 所有权和借用 所有权借用 结构体和枚举 结构体枚举 模块和包…...

Study--Oracle-06-Oracler网络管理
一、ORACLE的监听管理 1、ORACLE网络监听配置文件 cd /u01/app/oracle/product/12.2.0/db_1/network/admin 2、在Oracle数据库中,监听器(Listener)是一个独立的进程,它监听数据库服务器上的特定端口上的网络连接请求,…...

uniapp零基础入门Vue3组合式API语法版本开发咸虾米壁纸项目实战
嗨,大家好,我是爱搞知识的咸虾米。 今天给大家带来的是零基础入门uniapp,课程采用的是最新的Vue3组合式API版本,22年发布的uniappVue2版本获得了官方推荐,有很多同学等着我这个vue3版本的那,如果没有学过vu…...

数字信号处理教程(2)——时域离散信号与时域离散系统
上回书说到数字信号处理中基本的一个通用模型框架图。今天咱们继续,可以说今天要讲的东西必须是学习数字信号处理必备的观念——模拟与数字,连续和离散。 时域离散序列 由于数字信号基本都来自模拟信号,所以先来谈谈模拟信号。模拟信号就是…...

imx6ull/linux应用编程学习(8)PWM应用编程(基于正点)
1.应用层如何操控PWM: 与 LED 设备一样, PWM 同样也是通过 sysfs 方式进行操控,进入到/sys/class/pwm 目录下 这里列举出了 8 个以 pwmchipX(X 表示数字 0~7)命名的文件夹,这八个文件夹其实就对应了…...

等保2.0 实施方案
一、引言 随着信息技术的广泛应用,网络安全问题日益突出,为确保信息系统安全、稳定、可靠运行,保障国家安全、公共利益和个人信息安全,根据《网络安全法》及《信息安全技术 网络安全等级保护基本要求》(等保2.0&#x…...

7/3 第六周 数据库的高级查询
...
ubuntu20.04安装kazam桌面屏幕录制工具
在Ubuntu 20.04上安装Kazam可以通过以下步骤进行: 1.打开终端:可以通过按下Ctrl Alt T组合键来打开终端。 2.添加PPA源:Kazam不再在官方Ubuntu仓库中,但可以通过PPA源进行安装。在终端中输入以下命令来添加PPA: su…...
Python应对反爬虫的策略
Python应对反爬虫的策略 概述User-Agent 伪造应对302重定向IP限制与代理使用Cookies和Session管理动态内容加载数据加密与混淆请求频率限制爬虫检测算法法律与道德考量结语 概述 在数字化时代,网络数据采集已成为获取信息的重要手段之一。然而,随着技术…...

240703_昇思学习打卡-Day15-K近邻算法实现红酒聚类
KNN(K近邻)算法实现红酒聚类 K近邻算法,是有监督学习中的分类算法,可以用于分类和回归,本篇主要讲解其在分类上的用途。 文章目录 KNN(K近邻)算法实现红酒聚类算法原理数据下载数据读取与处理模型构建--计算距离模型预测 算法原理 KNN算法虽…...

keil5模拟 仿真 报错没有读写权限
debug*** error 65: access violation at 0x4002100C : no write permission 修改为: Dialog DLL默认是DCM3.DLL Parameter默认是-pCM3 应改为 Dialog DLL默认是DARMSTM.DLL Parameter默认是-pSTM32F103VE...
力扣爆刷第158天之TOP100五连刷56-60(子集、最小栈、最长有效括号)
力扣爆刷第158天之TOP100五连刷56-60(子集、最小栈、最长有效括号) 文章目录 力扣爆刷第158天之TOP100五连刷56-60(子集、最小栈、最长有效括号)一、78. 子集二、105. 从前序与中序遍历序列构造二叉树三、43. 字符串相乘四、155. …...
高薪程序员必修课-Java中 Synchronized锁的升级过程
目录 前言 锁的升级过程 1. 偏向锁(Biased Locking) 原理: 示例: 2. 轻量级锁(Lightweight Locking) 原理: 示例: 3. 重量级锁(Heavyweight Locking)…...

Vue项目打包上线
Nginx 是一个高性能的开源HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它在设计上旨在处理高并发的请求,是一个轻量级、高效能的Web服务器和反向代理服务器,广泛用于提供静态资源、负载均衡、反向代理等功能。 1、下载nginx 2、…...
算法题中常用的C++功能
文章目录 集合优先队列双端队列排序时自定义比较函数最大数值字符串追加:删除:子串: 元组vector查找创建和初始化赋值: 字典map引入头文件定义和初始化插入元素访问元素更新元素删除元素检查元素存在遍历元素int和string转换 集合…...
左扰动和右扰动
在SLAM(Simultaneous Localization and Mapping)中,使用左扰动还是右扰动主要取决于你如何定义坐标系和你希望扰动影响的姿态表示。这通常与你的坐标系选择和你正在解决的具体问题有关。 左扰动通常用于以下情况: 当你使用局部坐…...

【计算机网络】期末复习(2)
目录 第一章:概述 第二章:物理层 第三章:数据链路层 第四章:网络层 第五章:传输层 第一章:概述 三大类网络 (1)电信网络 (2)有线电视网络 ࿰…...
ojdbc8-full Oracle JDBC 驱动程序的一个完整发行版各文件的功能
文章目录 1. ojdbc8.jar2. ons.jar -3. oraclepki.jar -4. orai18n.jar -5. osdt_cert.jar -6. osdt_core.jar -7. ojdbc.policy -8. README.txt -9. simplefan.jar -10. ucp.jar -11. xdb.jar - ojdbc8-full 是 Oracle JDBC 驱动程序的一个完整发行版,包含了连接和…...
在Linux环境下使用sqlite3时,如果尝试对一个空表进行操作(例如插入数据),可能会遇到表被锁定的问题。
在Linux环境下使用sqlite3时,如果尝试对一个空表进行操作(例如插入数据),可能会遇到表被锁定的问题。这通常是因为sqlite3在默认情况下会对空表进行“延迟创建”,即在实际需要写入数据之前,表不会被真正创建…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...