首页
学习
活动
专区
圈层
工具
发布

R中的stack和unstack函数

这一对函数就叫做stack和unstack。从字面意思上来看就是堆叠和去堆叠,就像下面这张图展示的这样。 那么R里面这两个函数具体可以实现什么样的功能呢?下面这张图可以帮助大家来理解。...unstack就是根据数据框的第二列的分组信息,将第一列的数据划分到各个组,是一个去堆叠的过程。而stack刚好是一个相反的过程。...stack其实是unstack的反向操作。...stacked_df = stack(unstacked_df) #修改列名 names(stacked_df)=c("weight","group") stacked_df 结果如下,这里stack之后列名可以自己再通过...函数的时候,也可以对组进行操作,比如筛选和过滤 stacked_df1 = stack(unstacked_df, select = -ctrl) stacked_df1 这段代码就在stack的时候去掉了

6.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从pandas中的这几个函数,我看懂了道家“一生二、二生三、三生万物”

    05 pivot_table pivot_table是pandas中用于实现数据透视表功能的函数,与Excel中相关用法如出一辙。 何为数据透视表?...06 stack 和 unstack stack和unstack可以实现在如上两种数据结果中相互变换。...从名字上直观理解: stack用于堆栈,所以是将3维数据堆成2维 unstack用于解堆,所以可将2维数据解堆成3维 直接以前述分析结果为例,对pivot_table数据透视结果进行stack,结果如下...pivot_table+stack=groupby 类似地,对groupby分组聚合结果进行unstack,结果如下: ?...groupby+unstack=pivot_table 看到这里,会不会有种顿悟的感觉:麻雀虽小,玩转的却是整个天空;pandas接口有限,阐释的却有道家思想:一生二、二生三、三生万物…… ?

    2.8K10

    盘一盘 Python 系列 4 - Pandas (下)

    ) 两个操作只改变数据表的布局 (layout): 重塑用 stack 和 unstack 函数 (互为逆转操作) 透视用 pivot 和 melt 函数 (互为逆转操作) 5.1 重塑 在〖数据结构之...基于层先 unstack(0) 再 stack(0) df.unstack(0).stack(0) df 被 unstack(0) 之后变成 (行 → 列) 行索引 = r2 列索引 = [c, r1...基于层先 unstack(0) 再 stack(1) df.unstack(0).stack(1) df 被 unstack(0) 之后变成 (行 → 列) 行索引 = r2 列索引 = [c, r1...基于层先 unstack(1) 再 stack(0) df.unstack(1).stack(0) df 被 unstack(1) 之后变成 (行 → 列) 行索引 = r1 列索引 = [c, r2...基于层先 unstack(1) 再 stack(1) df.unstack(1).stack(1) df 被 unstack(1) 之后变成 (行 → 列) 行索引 = r1 列索引 = [c, r2

    5.1K40

    Pandas 2.2 中文官方教程和指南(十四)

    pivot() 和 pivot_table():在一个或多个离散类别中对唯一值进行分组。 stack() 和 unstack():分别将列或行级别的数据透视到相反的轴上。...pivot_table() 虽然pivot()提供了各种数据类型的通用透视功能,但 pandas 还提供了用于对数值数据进行聚合的pivot_table()或pivot_table()。...) 与`pivot()`方法密切相关的是`Series`和`DataFrame`上可用的相关`stack()`和`unstack()`方法。...pivot_table() 虽然pivot()提供了各种数据类型的通用数据透视功能,但 pandas 还提供了pivot_table()或pivot_table()用于对数值数据进行聚合的数据透视。...() 和 unstack() 与pivot() 方法密切相关的是在Series 和 DataFrame 上可用的stack() 和 unstack() 方法。

    62710
    领券