问题标签 [pandas-groupby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1316 浏览

python - 大型数据集的 Group By 操作

对于太大而无法放入内存的数据集,是否有一种简单的方法/模块可以在 python 中进行分组操作?

我通常会使用 pandas,但对于大型数据集它会失效。

0 投票
2 回答
52118 浏览

python - 如何在熊猫的 groupby 对象中获取组数?

这会很有用,所以我知道我必须对多少个独特的组进行计算。谢谢你。

假设 groupby 对象被调用dfgroup

0 投票
1 回答
93 浏览

python - pandas groupby 对象的列操作

我有一个df看起来像这样的数据框:

这基本上是他们在特定项目中使用的一组id和项目。我使用然后我想看看他们是否使用相同的类别或不同的类别并分别分配 True 或 False (或者如果那是那个特定的第一个项目。我还过滤掉了数据以删除所有只有一个的 s 。categoryTimedf.groupby['id']NaNididTime

例如,其中一组可能看起来像

我想执行一个操作来获取

之后我考虑过对列apply进行某种处理,但我无法确定正确的功能。Categorygroupby

0 投票
1 回答
222 浏览

python - 在 Pandas 中操作组列

我有一个包含 Dist、Class 和 Count 列的数据集。

我想按 dist 对该数据集进行分组,并将每组的计数列除以该组的计数总和(将其标准化为 1)。

以下 MWE 演示了我迄今为止的方法。但我想知道:有没有更紧凑/流行的方式来写这个?

0 投票
2 回答
631 浏览

python - 分组操作后访问原始索引

有一个包含 A 和 B 列的 DF,我想添加额外的 C 列,其中包括每行 A 和 B 值的组合。即,如果我有一个 DF:

我想创建:

显然,我可以遍历 DF 的所有行并合并这些值。这对于大桌子来说非常慢。我也可以.unique()用于列 A 和 B 并遍历所有组合,分别创建向量col1_uncol2_un,然后使用类似的东西更新表中的相关索引

这仍然很慢。我可以更多地使用它,而不是搜索整个 DF,而是将搜索字段减少到迄今为止未更改的索引。仍然很慢。

有一个 group by 选项正是我想要的,找到两列的所有唯一组合对,它相对较快,但我还没有弄清楚如何访问每个组的原始 DF 的索引。请帮忙?

0 投票
2 回答
1435 浏览

python - Pandas groupby(...).mean() 丢失密钥

我有具有rounds以下结构的数据框(这是从另一个数据框中删除列的结果)(无法发布图片,抱歉):

我使用groupby所以我可以得到组的平均值,如下所示:

我得到了我想要的手段,但我遇到了钥匙问题。数据框具有以下results_mean结构:

唯一识别的键是time(我执行了results_mean.keys())。

我做错了什么?我该如何解决?

0 投票
4 回答
172612 浏览

python - 如何从 pandas groupby().sum() 的输出创建一个新列?

尝试从groupby计算中创建一个新列。在下面的代码中,我得到了每个日期的正确计算值(参见下面的组),但是当我尝试用它创建一个新列 ( df['Data4']) 时,我得到了 NaN。所以我试图在数据框中创建一个新列,其中包含Data3所有日期的总和,并将其应用于每个日期行。例如,2015-05-08 有 2 行(总数为 50+5 = 55),在这个新列中,我希望两行都有 55。

0 投票
1 回答
7436 浏览

python - 使用子图和循环绘制 Pandas groupby 组

我正在尝试基于 Pandas groupby 对象生成子图网格。我希望每个图都基于一组 groupby 对象的两列数据。假数据集:

我尝试了以下代码:

但它会生成 4 个相同的子图,每个子图上都绘制了所有数据(请参见下面的示例输出):

在此处输入图像描述

我想做类似以下的事情来解决这个问题:

但我得到这个错误

AttributeError:“numpy.ndarray”对象没有属性“get_figure”

我将在要绘制的 groupby 对象中拥有动态数量的组,以及比我提供的假数据更多的元素。这就是为什么我需要一个优雅的动态解决方案,并且每个组数据集都绘制在一个单独的子图上。

0 投票
1 回答
6265 浏览

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

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

我想添加一个包含组总计数值的列:

我这样做的方式是:

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

谢谢您的帮助。

0 投票
1 回答
559 浏览

python - pandas 与所有数据框列的聚合统计信息分组

我在 pandas 数据框中对数据进行分组,并使用一些聚合函数来生成结果数据。输入数据:

pandas 分组函数似乎一次只对一列进行操作,但我想在我的 df 中生成所有列的统计信息。例如,我可以使用函数 grouped['C'].agg([np.mean, len]) 生成列“C”的统计信息,但如果我想生成所有列 A - F 的统计信息怎么办?

输出是:

但我想要的是:

有没有简单的方法通过在单个命令中进行聚合来进行分组?如果没有,是否有一种简单的方法可以遍历所有列并合并每列的新聚合统计结果?

到目前为止,这是我的完整代码: