当前位置: 首页 > 知识库问答 >
问题:

具有别名和“正常”数据帧的Groupby和count():python熊猫与mssql

寿子轩
2023-03-14

我来自SQL环境,正在学习Python Pandas中的一些内容。我有一个关于分组和聚合的问题。

假设我按年龄类别对数据集进行分组,并计算不同的类别。在MSSQL中,我会这样写:

SELECT AgeCategory, COUNT(*) AS Cnt
FROM TableA
GROUP BY AgeCategory
ORDER BY 1

结果集是一个带有两列的“普通”表,第二列我命名为Count。

当我想在Pandas中进行等效时,groupby对象的格式不同。所以现在我必须重置索引,并在下面一行中重命名列。我的代码如下所示:

grouped = df.groupby('AgeCategory')['ColA'].count().reset_index()
grouped.columns = ['AgeCategory', 'Count']
grouped

我的问题是,这是否可以一次性完成。看起来我做得太过分了,但我缺乏经验。

谢谢你的建议。

您好,M。

共有1个答案

柴亦
2023-03-14

使用参数nameDataFrame.reset_index

grouped = df.groupby('AgeCategory')['ColA'].count().reset_index(name='Count')

或:

grouped = df.groupby('AgeCategory').size().reset_index(name='Count')

不同之处在于分组方式。计数排除缺失值,GroupBy。大小不是。

更多关于大熊猫聚集的信息。

 类似资料:
  • 我必须根据以下col1、col2和loc的数据进行分组,并计算col3中的项数。此外,还应考虑开始和结束日期,即日期应在2021 1月1日至2021 1月31日之间。最终结果应显示在col4中。 数据 预期输出

  • 问题内容: 我有一个数据框df,有两列,我想按一列分组并加入属于同一组的列表,例如: 处理后: 我想保留所有重复项。我有以下问题: 数据框的dtype是对象。convert_objects()不会自动将column_b转换为列表。我怎样才能做到这一点? df.groupby(…)。apply(lambda x:…)中的函数适用于什么?x的形式是什么?清单? 我主要问题的解决方案? 提前致谢。 问题

  • 我有一个数据集,需要通过groupby()找到每个唯一组合的计数。 我需要的是产生如下所示的输出: 尝试了以下代码: 此聚合引发“列表索引超出范围”错误。但是,当我从groupby子句中删除任何一列时,它就能够给出按剩余列分组的计数。 如果我删除as_index=False,则不会有错误,但结果对象将同时包含列make和body style作为索引的一部分,并且不会有任何计数数据。 我可以在dat

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

  • 问题内容: 我有一个看起来像这样的DataFrame: 我想将其转换为对属于某些bin的视图进行计数,如下所示: 我试过了: 但它仅提供汇总计数,而不提供用户计数。如何获得用户的垃圾箱计数? 总计计数(使用我的真实数据)如下所示: 问题答案: 您可以按垃圾箱 和 用户名分组,计算分组大小,然后使用:

  • 这似乎是非常基本的知识,但我还是卡住了,尽管我有一些数据处理的理论背景(通过其他软件)。值得一提的是,我是蟒蛇和熊猫图书馆的新手。 我的任务是将系列名称列的值作为单独的列(从长到宽转换)。我花了很长时间尝试不同的方法,但只有错误。 例如: 我犯了一个错误: ...很多短信...通过值的长度是2487175,索引暗示2 有谁能指导我完成这个过程吗?谢谢 它用于代码“mydata=mydata”。pi