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

非常人性化是吗

相关文章
|
8天前
|
数据挖掘 索引 Python
如何在Python中,Pandas库实现对数据的时间序列分析?
【4月更文挑战第21天】Pandas在Python中提供了丰富的时间序列分析功能,如创建时间序列`pd.date_range()`,转换为DataFrame,设置时间索引`set_index()`,重采样`resample()`(示例:按月`'M'`和季度`'Q'`),移动窗口计算`rolling()`(如3个月移动平均)以及季节性调整`seasonal_decompose()`。这些工具适用于各种时间序列数据分析任务。
21 2
|
8天前
|
存储 分布式计算 大数据
MaxCompute产品使用合集之MaxCompute是否 支持导出所有表结构和表列表
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
存储 算法 搜索推荐
【大数据分析与挖掘技术】Mahout推荐算法
【大数据分析与挖掘技术】Mahout推荐算法
9 0
|
2天前
|
机器学习/深度学习 算法 数据挖掘
【大数据分析与挖掘技术】概述
【大数据分析与挖掘技术】概述
7 1
|
2天前
|
数据采集 数据可视化 数据处理
利用Python和Pandas库实现高效的数据处理与分析
在大数据和人工智能时代,数据处理与分析已成为不可或缺的一环。Python作为一门强大的编程语言,结合Pandas库,为数据科学家和开发者提供了高效、灵活的数据处理工具。本文将介绍Pandas库的基本功能、优势,并通过实际案例展示如何使用Pandas进行数据清洗、转换、聚合等操作,以及如何利用Pandas进行数据可视化,旨在帮助读者深入理解并掌握Pandas在数据处理与分析中的应用。
|
8天前
|
分布式计算 Java 数据库连接
实时数仓 Hologres产品使用合集之该创建外部表maxCompute的这个服务器列表如何解决
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
35 0
|
8天前
|
数据可视化 大数据 Python
python大数据分析处理
python大数据分析处理
16 0
|
8天前
|
机器学习/深度学习 人工智能 大数据
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
159 6
|
8天前
|
存储 机器学习/深度学习 数据采集
大数据处理与分析实战:技术深度剖析与案例分享
【5月更文挑战第2天】本文探讨了大数据处理与分析的关键环节,包括数据采集、预处理、存储、分析和可视化,并介绍了Hadoop、Spark和机器学习等核心技术。通过电商推荐系统和智慧城市交通管理的实战案例,展示了大数据在提高用户体验和解决实际问题上的效能。随着技术进步,大数据处理与分析将在更多领域发挥作用,推动社会进步。
|
8天前
|
存储 运维 监控