熊猫groupby申请返回一个数据框

邦加

考虑以下代码:

>>> df = pd.DataFrame(np.random.randint(0, 4, 16).reshape(4, 4), columns=list('ABCD'))
... df
...
   A  B  C  D
0  2  1  0  2
1  3  0  2  2
2  0  2  0  2
3  2  1  2  0
>>> def grouper(frame):
...     return frame
...     
... df.groupby('A').apply(grouper)
...
   A  B  C  D
0  2  1  0  2
1  3  0  2  2
2  0  2  0  2
3  2  1  2  0

如您所见,结果是相同的。这是文档apply

传递给apply的函数必须将一个数据框作为其第一个参数,并返回一个DataFrame,Series或标量。然后,apply将负责将结果重新组合到单个数据帧或系列中。因此,apply是一种高度灵活的分组方法。

Groupby会将组分成小数据帧,如下所示:

   A  B  C  D
2  0  2  0  2

   A  B  C  D
0  2  1  0  2
3  2  1  2  0

   A  B  C  D
1  3  0  2  2

apply文档说它将数据框组合回单个数据框。我很好奇它如何以最终结果与原始数据帧相同的方式将它们组合在一起。如果已使用concat,则最终数据帧将等于:

   A  B  C  D
2  0  2  0  2
0  2  1  0  2
3  2  1  2  0
1  3  0  2  2

我很好奇这个连接是如何完成的。

keiv.fly

如果查看源代码,将会看到有一个参数not_indexed_same可以检查groupby之后索引是否保持不变。如果相同,则groupby会在返回结果之前对数据帧进行重新索引。我不知道为什么要实施。

更改于2011年8月21日进行,Wes对更改未发表任何评论:https : //github.com/pandas-dev/pandas/commit/00c8da0208553c37ca6df0197da431515df813b7#diff-720d374f1a709d0075a1f0a02445cd65

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫数据框concat返回第一个数据框的相同数据

索引熊猫数据框以返回每天的第一个数据点

如何从熊猫的多个数据框中搜索一个值并返回该行?

大熊猫将一个数据框与另一个groupby数据框组合在一起

熊猫将一个数据框拆分为多个数据框

如何使用熊猫中另一个数据框的值更新一个数据框

使用熊猫从另一个数据框中的信息中过滤一个数据框

熊猫用另一个数据框的值替换一个数据框的值

如何使用非唯一列将具有求和值的熊猫Groupby数据框映射到另一个数据框

从熊猫数据框列表中提取数据并从中制作一个数据框

熊猫,将一个数据框映射到另一个?

groupby pandas数据框并创建另一个数据框,该数据框水平表示groupby结果

如何从另一个数据框更新带有集合的熊猫数据框

另一个数据框的熊猫数据框总和日期范围

使用来自另一个数据框的比率分解熊猫数据框

熊猫-如何基于另一个数据框创建新的数据框?

根据日期从另一个数据框中过滤熊猫数据框

从另一个数据框中提取熊猫数据框

更改一个数据框的值与其他数据框熊猫的值

从另一个数据框中更新熊猫数据框中的特定值

熊猫数据框将值除以另一个数据框中的值

根据另一个数据框向熊猫数据框列添加值

根据另一个数据框的列填充熊猫数据框列

根据另一个数据框创建新的熊猫数据框

如何搜索熊猫数据框以填充另一个数据框?

熊猫使用列分组按另一个数据框更新数据框

遍历熊猫数据框以从另一个数据框获取值

熊猫-使用另一个数据框过滤数据框

熊猫-检查数据框的子集是否在另一个数据框中