分享
7个 Pandas stack() 和 unstack() 使用技巧
输入“/”快速插入内容
7个 Pandas stack() 和 unstack() 使用技巧
🔗 原文链接:
https://blog.csdn.net/weixin_380374...
⏰ 剪存时间:2022-09-22 22:36:39 (UTC+8)
✂️ 本文档由
飞书剪存
一键生成
一文详解:7个 Pandas stack() 和 unstack() 使用技巧
当你在处理包含某种序列(例如
时间序列
数据)的变量的数据集时,数据通常需要进行重塑。
喜欢本文记得收藏、关注、点赞。
【注】文末加入技术交流群,学习不再孤单
推荐文章
•
李宏毅《机器学习》国语课程(2022)来了
•
有人把吴恩达老师的机器学习和深度学习做成了中文版
•
上瘾了,最近又给公司撸了一个可视化大屏(附源码)
•
如此优雅,4款 Python 自动数据分析神器真香啊
•
梳理半月有余,精心准备了17张知识思维导图,这次要讲清统计学
•
年终汇总:20份可视化大屏模板,直接套用真香(文末附源码)
Pandas
提供了各种用于重塑 DataFrame 的内置方法。其中,stack() 和 unstack() 是最流行的 2 种重组列和行的方法:
•
stack():从列到行堆叠
•
unstack():从行到列取消堆叠
stack() 和 unstack() 似乎使用起来相当简单,但你仍然应该知道一些技巧来加快数据分析。
在本文中,我将分享 Pandas 的几个技巧:
•
单层
•
多层次:简单案例
•
多层次:缺失值
•
多个级别:指定要堆叠的级别
•
多个级别:删除缺失值
•
unstack: 简单案例
•
unstack:更多用法
1.单层
最简单的 stack()可以应用于具有单层列的 DataFrame。它只是将标签从列堆叠到行并输出一个系列。
代码块
Python
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 参数: