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

熊猫运行总和(无循环)

百里景山
2023-03-14
问题内容

我想在熊猫数据框上生成一个总和。我有类似的东西:

10/10/2012:  50,  0
10/11/2012: -10, 90
10/12/2012: 100, -5

我想得到:

10/10/2012:  50,  0
10/11/2012:  40, 90
10/12/2012: 140, 85

因此,每个单元格应该是其自身与所有先前单元格的总和,我应该如何在不使用循环的情况下做到这一点。


问题答案:

正如@JonClements提到的,您可以使用cumsumDataFrame方法执行此操作:

from pandas import DataFrame
df = DataFrame({0: {'10/10/2012': 50, '10/11/2012': -10, '10/12/2012': 100}, 1: {'10/10/2012': 0, '10/11/2012': 90, '10/12/2012': -5}})

In [3]: df
Out[3]: 
              0   1
10/10/2012   50   0
10/11/2012  -10  90
10/12/2012  100  -5

In [4]: df.cumsum()
Out[4]: 
              0   1
10/10/2012   50   0
10/11/2012   40  90
10/12/2012  140  85


 类似资料:
  • 我正在使用此数据框: 我想通过名称和水果将其聚合,得到每个名称的水果总数。 我试着按名字和水果分组,但如何得到水果的总数呢。

  • 问题内容: 所以我有一个数据框df1,看起来像下面的样子: 我想按A列分组,然后对B列求和,同时将值保留在C列中。 问题是,当我说df.groupby(’A’)。sum()列C被删除时,返回 当我进行分组和求和时,如何解决这个问题并保留C列? 问题答案: 唯一的方法是将C包含在groupby中(groupby函数可以接受列表)。 试试看: 需要注意的另一件事是,如果需要在聚合后使用df,则还可以使

  • 问题内容: 假设我有一个用户活动日志,我想生成一个总持续时间和每天唯一身份用户数量的报告。 汇总持续时间非常简单: 我想做的是同时计算持续时间并计算不重复次数,但我似乎找不到count_distinct的等效项: 这可行,但是肯定有更好的方法,不是吗? 我在想,我只需要提供一个将Series对象的不同项目的计数返回给聚合函数的函数,但是我对各种库的接触并不多。另外,似乎groupby对象已经知道此

  • 我有一个熊猫数据框,如下所示,具有多个列,并希望获得列的总数。 我的尝试: 我试图使用和获取列的总和: 这会导致以下错误: 预期产出 我预计产出如下: 或者,我希望编辑< code>df,在标题为< code>TOTAL的新行中包含总计:

  • 我正在尝试制作一个数据帧,以便可以轻松地将其发送到CSV,否则我必须手动执行此过程。。 我希望这是我的最终输出。每个人都有一个月和年的组合,从2014年1月1日开始,一直到2016年1月12日: 到目前为止的代码: 当我尝试循环创建数据帧时,它要么不工作,要么出现索引错误(因为不匹配列表),我不知所措。 我已经做了一点很好的搜索,并找到了以下一些类似的链接,但我不能反向工程的工作,以适应我的情况。

  • 问题内容: 如何在交叉表中添加总计的另一行和一列? 我以为我会添加新列(通过对行求和而获得) 但这不起作用。 问题答案: 这是因为“类似属性”的列访问不适用于整数列名。使用标准索引: 请参阅文档本节末尾的警告:http : //pandas.pydata.org/pandas- docs/stable/indexing.html#attribute-access 当您要使用行时,可以使用: 在这种