深度盘点:7个关于 Pandas stack() 和 unstack() 使用技巧

本文详细介绍了Pandas的stack()和unstack()函数在数据重塑中的应用,包括单层堆叠、多层次案例、处理缺失值、指定堆叠级别、删除缺失值、unstack的简单和复杂用法,展示了这两个方法如何在数据分析中有效地操纵DataFrame。
摘要由CSDN通过智能技术生成

当你在处理包含某种序列(例如时间序列数据)的变量的数据集时,数据通常需要进行重塑。

Pandas 提供了各种用于重塑 DataFrame 的内置方法。其中,stack() 和 unstack() 是最流行的 2 种重组列和行的方法:

stack():从列到行堆叠
unstack():从行到列取消堆叠
在这里插入图片描述

stack() 和 unstack() 似乎使用起来相当简单,但你仍然应该知道一些技巧来加快数据分析。

在本文中,我将分享 Pandas 的几个技巧:

单层
多层次:简单案例
多层次:缺失值
多个级别:指定要堆叠的级别
多个级别:删除缺失值
unstack: 简单案例
unstack:更多用法

1.单层

最简单的 stack()可以应用于具有单层列的 DataFrame。它只是将标签从列堆叠到行并输出一个系列。

df_single_level = pd.DataFrame(
    [['Mostly cloudy', 10], ['Sunny', 12]],
    index=['London', 'Oxford'],
    columns=['Weather', 'Wind']
)
df_single_level.stack()

图片

2.多层次:简单案例

通常,我们会在具有多级列的 DataFrame 上使用 stack()。

让我们创建一个 DataFrame。有多种方法可以创建具有多级列的 DataFrame,最简单的方法之一是创建 MultiIndex 对象 MultiIndex.from_tuples() 并将结果传递给 pd.DataFrame() 中的 columns 参数:

multi_col_1 = pd.MultiIndex.from_tuples(
    [('Wind', 'mph'), ('Wind', 'm/s')]
)
df_multi_level_1 = pd.DataFrame(
    [[13, 5.5], [19, 8.5]],
    index=['London', 'Oxford'],
    columns=multi_col_1
)

图片

通过调用 stack(),它将获取列级别(mph, m/s) 并将其堆叠到行轴上。

df_multi_level_1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值