Pandas大数据分析之列表重塑和透视

简介: 引入在处理数据文件的时候,我们往往需要通过自己再处理来获得方便分析的数据表。这时候会经常用得到的操作就包括了重塑和透视。本期将对这个两个操作进行讲解,希望大家都能作出令自己满意的分析结果~


引入


在处理数据文件的时候,我们往往需要通过自己再处理来获得方便分析的数据表。这时候会经常用得到的操作就包括了重塑和透视。本期将对这个两个操作进行讲解,希望大家都能作出令自己满意的分析结果~


1.基础重塑


多层索引在DataFrame中提供了一种一致性的方式用于重排列数据。以下是两个基础操作:

1.1 stack(堆叠)

该操作会“旋转”或者将列中的数据透视到行。

1.2 unstack(拆堆)

该操作会将行中的数据透视到列。

下面来实际操作一下。我们选用jupyter notebook开发环境为例。


image.png

如上图,我们通过以下代码将所需要的包导入python环境


import numpy as np
import pandas as pd
复制代码


接下来创建一个dataframe对象来处理数据——


df=pd.DataFrame({"a":["i","j","k","i","j","k"],"b":[2,1,4,1,2,4],"c":[3,2,2,1,2,3]})
df#用于在jupyter 环境中展示代码
复制代码


对df进行stack操作,进行堆叠——转置列的数据到行:


image.png

成功转置了数据,但我们不难发现,这不再是一个dataframe了

image.png

我们得到的新对象是一个series。

image.png

同理,unstack就是stack的逆向。如上图,进行stack再进行unstack就会回到df。

tip:unstack是对series作用的。stack是对dataframe进行的。


2.重塑中的缺失值


如果层级中的所有值并未包含于每个子分组时,拆分可能会带来缺失值。


image.png

image.png

如图,我们创建一个子分组不对等的series:


s1=pd.Series([0,1,2,3],index=["a","b","c","d"])
s2=pd.Series([4,5,6],index=["c","d","e"])
df2=pd.concat([s1,s2],keys=["one","two"])


可以从图中看出,one 和 two的子分组中不对等。一个包含abcd,一个包含cde

运行unstack将其拆为dataframe,生成的是带有缺失值的数据:


df2.unstack()


但是需要注意的是,stack会过滤出缺失值,因此stack和unstack在有缺失值的情况下仍然符合可逆的特性


image.png

image.png

非常人性化是吗

目录
打赏
0
0
0
0
1
分享
相关文章
数据没洗干净,分析全白干:聊聊大数据里的“洗澡水”工程
数据没洗干净,分析全白干:聊聊大数据里的“洗澡水”工程
52 1
基于 Dify + Hologres + QWen3 进行企业级大数据的处理和分析
在数字化时代,企业如何高效处理和分析海量数据成为提升竞争力的关键。本文介绍了基于 Dify 平台与 Hologres 数据仓库构建的企业级大数据处理与分析解决方案。Dify 作为开源大语言模型平台,助力快速开发生成式 AI 应用;Hologres 提供高性能实时数仓能力。两者结合,不仅提升了数据处理效率,还实现了智能化分析与灵活扩展,为企业提供精准决策支持,助力数字化转型。
185 2
基于 Dify + Hologres + QWen3 进行企业级大数据的处理和分析
金融科技新标杆:随行付大数据实时分析如何支撑百亿级秒级查询
随行付作为国内领先的支付基础设施平台,致力于携手合作伙伴与中小微企业,共建安全、稳定、高效运转的数字化支付生态,持续为不同行业与场景提供融合支付与经营的一体化数字化解决方案。 随着支付业务的快速发展,原有基于 Oracle + Hive 与 Elasticsearch + Kudu + HBase 搭建的 Lambda 架构,逐渐暴露出实时性不足、架构复杂、数据冗余高等问题,已难以支撑不断增长的业务需求。 为应对这一挑战,随行付重构了大数据分析体系,构建起以自研Porter CDC + StarRocks + Elasticsearch 为核心的一体化实时架构,全面覆盖高并发明细查询、即席汇总
Java 大视界 -- Java 大数据在智能教育学习社区用户互动分析与社区活跃度提升中的应用(274)
本文系统阐述 Java 大数据技术在智能教育学习社区中的深度应用,涵盖数据采集架构、核心分析算法、活跃度提升策略及前沿技术探索,为教育数字化转型提供完整技术解决方案。
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多源数据融合与分析技术(171)
本文围绕 Java 大数据在智能安防入侵检测系统中的应用展开,剖析系统现状与挑战,阐释多源数据融合及分析技术,结合案例与代码给出实操方案,提升入侵检测效能。
大数据分析如何精准拿捏你的移动应用体验?
大数据分析如何精准拿捏你的移动应用体验?
75 10
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
|
3月前
|
“你朋友圈的真面目,大数据都知道!”——用社交网络分析看透人情世故
“你朋友圈的真面目,大数据都知道!”——用社交网络分析看透人情世故
117 16
朋友圈里的“数据局”——聊聊大数据与社交媒体分析的那些事儿
朋友圈里的“数据局”——聊聊大数据与社交媒体分析的那些事儿
84 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问