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

非常人性化是吗

相关文章
|
29天前
|
存储 大数据 测试技术
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
在大数据环境中,数据存储格式直接影响查询性能和成本。本文探讨了 Parquet、Avro 和 ORC 三种格式在 Google Cloud Platform (GCP) 上的表现。Parquet 和 ORC 作为列式存储格式,在压缩和读取效率方面表现优异,尤其适合分析工作负载;Avro 则适用于需要快速写入和架构演化的场景。通过对不同查询类型(如 SELECT、过滤、聚合和联接)的基准测试,本文提供了在各种使用案例中选择最优存储格式的建议。研究结果显示,Parquet 和 ORC 在读取密集型任务中更高效,而 Avro 更适合写入密集型任务。正确选择存储格式有助于显著降低成本并提升查询性能。
159 1
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
|
2月前
|
分布式计算 Hadoop 大数据
Jupyter 在大数据分析中的角色
【8月更文第29天】Jupyter Notebook 提供了一个交互式的开发环境,它不仅适用于 Python 编程语言,还能够支持其他语言,包括 Scala 和 R 等。这种多语言的支持使得 Jupyter 成为大数据分析领域中非常有价值的工具,特别是在与 Apache Spark 和 Hadoop 等大数据框架集成方面。本文将探讨 Jupyter 如何支持这些大数据框架进行高效的数据处理和分析,并提供具体的代码示例。
52 0
|
12天前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
20 2
|
12天前
|
JSON 数据可视化 数据挖掘
Polars函数合集大全:大数据分析的新利器
Polars函数合集大全:大数据分析的新利器
19 1
|
25天前
|
存储 分布式计算 Hadoop
大数据分析的工具
大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据产生的其他例子包括购买交易记录,网络日志,病历,军事监控,视频和图像档案,及大型电子商务。
30 8
|
1月前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
88 11
|
12天前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
25 0
|
12天前
|
数据处理 Python
Pandas实践(续):2023年南京地铁客运量分析
Pandas实践(续):2023年南京地铁客运量分析
28 0
|
2月前
|
分布式计算 数据可视化 大数据
Vaex :突破pandas,快速分析100GB大数据集
Vaex :突破pandas,快速分析100GB大数据集
|
2月前
|
大数据 机器人 数据挖掘
这个云ETL工具配合Python轻松实现大数据集分析,附案例
这个云ETL工具配合Python轻松实现大数据集分析,附案例