当前位置: 首页 > 面试题库 >

将群组总计添加到Pandas数据框中的最佳方法

万俟财
2023-03-14
问题内容

我有一个简单的任务,我想知道是否有更好/更有效的方法。我有一个看起来像这样的数据框:

  Group  Score  Count
0     A      5    100
1     A      1     50
2     A      3      5
3     B      1     40
4     B      2     20
5     B      1     60

我想添加一列来保存组总数的值:

  Group  Score  Count  TotalCount
0     A      5    100         155
1     A      1     50         155
2     A      3      5         155
3     B      1     40         120
4     B      2     20         120
5     B      1     60         120

我这样做的方式是:

Grouped=df.groupby('Group')['Count'].sum().reset_index()
Grouped=Grouped.rename(columns={'Count':'TotalCount'})

df=pd.merge(df, Grouped, on='Group', how='left')

是否有更好/更干净的方法将这些值直接添加到数据框中?

谢谢您的帮助。


问题答案:

df[‘TotalCount’] = df.groupby(‘Group’)[‘Count’].transform(‘sum’)

这里讨论了其他一些选项。



 类似资料:
  • 问题内容: 我有一个形状为(X,Y)的Pandas数据框对象,如下所示: 还有一个形状为(X,Z)的numpy稀疏矩阵(CSC),看起来像这样 如何将矩阵中的内容添加到新命名列中的数据框中,以使数据框最终像这样: 请注意,数据框现在具有形状(X,Y + 1),并且矩阵中的行是数据框中的元素。 问题答案: import numpy as np import pandas as pd import s

  • 问题内容: 案例:我的脚本返回一个数据框,该数据框需要作为新的数据行附加到现有的Google电子表格中。到目前为止,我正在通过gspread将数据框附加为多个单行。 我的代码: 有没有一种方法可以附加整个数据帧而不是多个单行? 问题答案: 我可以推荐:

  • 问题内容: 给定一个DataFrame: 添加包含常量值(例如0)的新列的最简单方法是什么? 这是我的解决方案,但我不知道为什么这会将NaN放入“新”列? 问题答案: 之所以将其放入一列中,是因为和您右侧对象的有所不同。@zach显示了分配新的零列的正确方法。通常,尝试使索引尽可能地对齐。一个缺点是,当指数不对准你,无论他们 是不是 一致。尝试使用和方法来获得一些直觉,以便对齐具有部分,完全和未对

  • 我有一个带有数值的数据框。添加表示每列总和的行(具有给定索引值)的最简单方法是什么?

  • 问题内容: 我有一个OHLC价格数据集,该数据集已从CSV解析为Pandas数据框,并重新采样为15分钟的柱形: 我想添加各种计算的列,从简单的列开始,例如期间范围(HL),然后是布尔值以指示我将定义的价格模式的出现-例如锤形蜡烛模式,为其定义示例: 基本问题:如何将函数映射到列,特别是在我想引用多个其他列或整行或其他内容的地方? 这篇文章处理从单个源列添加两个计算列,这是很接近的,但还不完全是。

  • 本文向大家介绍JavaScript实现将数组数据添加到Select下拉框的方法,包括了JavaScript实现将数组数据添加到Select下拉框的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现将数组数据添加到Select下拉框的方法。分享给大家供大家参考。具体如下: 这里演示将数组中的数据添加到Select下拉菜单中的效果,当你点击下拉框的时候,就动态加载了数