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

Python-Pandas分组和总和

佟阳飙
2023-03-14
问题内容

我正在使用此数据框:

Fruit   Date      Name  Number
Apples  10/6/2016 Bob    7
Apples  10/6/2016 Bob    8
Apples  10/6/2016 Mike   9
Apples  10/7/2016 Steve 10
Apples  10/7/2016 Bob    1
Oranges 10/7/2016 Bob    2
Oranges 10/6/2016 Tom   15
Oranges 10/6/2016 Mike  57
Oranges 10/6/2016 Bob   65
Oranges 10/7/2016 Tony   1
Grapes  10/7/2016 Bob    1
Grapes  10/7/2016 Tom   87
Grapes  10/7/2016 Bob   22
Grapes  10/7/2016 Bob   12
Grapes  10/7/2016 Tony  15

我想按名称然后按水果进行汇总,以获得每个名称的水果总数。

Bob,Apples,16 ( for example )

我尝试按名称和水果分组,但如何获取水果总数。


问题答案:

使用sum()方法

df.groupby(['Fruit','Name']).sum()

Out[31]: 
               Number
Fruit   Name         
Apples  Bob        16
        Mike        9
        Steve      10
Grapes  Bob        35
        Tom        87
        Tony       15
Oranges Bob        67
        Mike       57
        Tom        15
        Tony        1


 类似资料:
  • 问题内容: 我有一个这样的数据框: 我想计算每个集群每个组织的平均时间。 预期结果: 我不知道如何在熊猫中做到这一点,有人可以帮忙吗? 问题答案: 如果你想先对组合取平均值,然后再对cluster组取平均值 如果你不仅仅希望价值观,那么你可以 你可以groupby上再取

  • 问题内容: 给定以下数据框 我想按的总和对分组()进行排序,然后按(不对)的值进行分组。所以基本上得到组的顺序 然后通过对/错,最终看起来像这样: 如何才能做到这一点? 问题答案: Groupby A: 在每个组中,对B求和,然后使用transform广播值。然后按B排序: 通过从上方传递索引来索引原始df。这将按B值的总和对A值重新排序: 最后,使用选项保留“ A”组中的“ C”值,以保留步骤1

  • 问题内容: 这应该很容易,但是以某种方式我找不到有效的解决方案。 我有一个熊猫数据框,看起来像这样: 我想按col1和col2分组并获得col3和col4。 由于无法汇总数据,因此可以删除。 这是输出的样子。我很感兴趣,同时具有和中产生的数据帧。是否和是否属于索引并不重要。 这是我尝试过的: 但是,这只会返回的汇总结果。 我在这里迷路了。我发现的每个示例仅汇总一列,显然不会发生此问题。 问题答案:

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

  • 这似乎是一个相当直接的前进,但几乎一整天后,我没有找到解决办法。我已经用read_csv加载了我的数据帧,并且很容易地将日期和时间列解析、组合和索引到一个列中,但是现在我希望能够根据小时和分钟分组来重新塑造和执行计算,类似于您可以在excel Pivot中所做的。 我知道如何重新采样到小时或分钟,但它维护与每个小时/分钟相关联的日期部分,而我只想将数据集聚合到小时和分钟,这类似于在excel数据透

  • 问题内容: 假设我有以下数据框 第一列是日期时间对象,第二列是整数。我想要的是为每行最后五分钟计算列“ A”的总和。 作为该行的示例 ,列“ A”的总和为2(1 + 1),而行的列“ A”的总和为7(2 + 1 + 4)。重要的是时间窗口(5分钟)的过去行数对于每一行都是不同的(因为时间序列是不规则的)。 如何在pandas中使用rolling_sum方法获取列“ A”的最后五分钟总和?提前致谢。