所以我有一个数据框df1,看起来像下面的样子:
A B C
1 foo 12 California
2 foo 22 California
3 bar 8 Rhode Island
4 bar 32 Rhode Island
5 baz 15 Ohio
6 baz 26 Ohio
我想按A列分组,然后对B列求和,同时将值保留在C列中。
A B C
1 foo 34 California
2 bar 40 Rhode Island
3 baz 41 Ohio
问题是,当我说df.groupby(’A’)。sum()列C被删除时,返回
B
A
bar 40
baz 41
foo 34
当我进行分组和求和时,如何解决这个问题并保留C列?
唯一的方法是将C包含在groupby中(groupby函数可以接受列表)。
试试看:
df.groupby(['A','C'])['B'].sum()
需要注意的另一件事是,如果需要在聚合后使用df,则还可以使用as_index =
False选项返回数据框对象。当我第一次与熊猫一起工作时,这给我带来了麻烦。例:
df.groupby(['A','C'], as_index=False)['B'].sum()
我必须根据以下col1、col2和loc的数据进行分组,并计算col3中的项数。此外,还应考虑开始和结束日期,即日期应在2021 1月1日至2021 1月31日之间。最终结果应显示在col4中。 数据 预期输出
问题内容: 我有一个数据框df,有两列,我想按一列分组并加入属于同一组的列表,例如: 处理后: 我想保留所有重复项。我有以下问题: 数据框的dtype是对象。convert_objects()不会自动将column_b转换为列表。我怎样才能做到这一点? df.groupby(…)。apply(lambda x:…)中的函数适用于什么?x的形式是什么?清单? 我主要问题的解决方案? 提前致谢。 问题
我正在使用此数据框: 我想通过名称和水果将其聚合,得到每个名称的水果总数。 我试着按名字和水果分组,但如何得到水果的总数呢。
当我分组和求和时,我怎样才能绕过这个并保留C栏呢?
这显然很简单,但作为一个新手,我被卡住了。 我有一个CSV文件,其中包含3列:州、办公室ID和该办公室的销售额。 我想计算给定州每个办公室的销售额百分比(每个州所有百分比的总和为100%)。 这返回: 我似乎不知道如何“达到”级别,以总计整个的来计算分数。
问题内容: 我有一个数据框,看起来像: 我希望按年份分组,然后总结sum_col。此外,我需要查找一周的最早日期和最新日期。第一部分很简单: 我试图用这个来找到最小/最大日期,但是没有成功: 如何找到最早/最新出现的日期? 问题答案: 您需要组合适用于同一列的函数,如下所示: