问题标签 [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 投票
1 回答
51815 浏览

python - 带有 bin 计数的 Pandas groupby

我有一个看起来像这样的 DataFrame:

我想将其转换为计算属于某些垃圾箱的视图,如下所示:

我试过:

但它只给出聚合计数,而不是用户计数。如何按用户获取 bin 计数?

总计数(使用我的真实数据)如下所示:

0 投票
1 回答
2001 浏览

python - pandas groupby()之后将reset_index()重置为原始列索引?

我生成了一个分组的数据框df = df.groupby(['X','Y']).max(),然后我想将其写入(到 csv,没有索引)。所以我需要将“X”和“Y”转换回常规列;我尝试使用reset_index(),但列的顺序错误。

如何将列“X”和“Y”恢复到它们的确切原始列位置?

是解决方案:

然后找到一种方法来改变列的顺序?


(我也发现了这种方法,用于 multiindex

0 投票
1 回答
41 浏览

python - 根据组对数据框进行切片,没有连续的字符串

我有一个数据框,其中包含不同国家/地区的问题结果,每个国家/地区都有重复条目。这些国家在 v6 中找到。例如:

我知道如何从比利时提取数据

我想知道是否有一种优雅的方法可以在 v6 中找到的 26 个国家/地区执行相同的操作,而无需为所有人​​编写代码。我认为它与groupby(),因为这给了我 v6 的不同值。并且itertools经常在论坛中被引用,但我没有得到它的工作。我得到的最接近的方法是临时保存并打印 中的国家locals()或以下代码,但它们都不起作用,因为我不知道如何进行变量更改名称

0 投票
3 回答
12109 浏览

python - 一组中的 Python Pandas 最大值作为新列

我正在尝试计算一个新列,其中包含几个组中的每一个的最大值。我来自 Stata 背景,所以我知道 Stata 代码是这样的:

例如:

然后我希望它看起来像:

最终,我试图形成一个列,记录每个组的1/(max-min) * odds位置maxmin位置。

0 投票
1 回答
607 浏览

python - 使用 Groupby 自定义时间段

我有以下熊猫数据框:

如何cash_flow按自定义范围获取列中值的总和,从 2014-6-30 开始,以 6 个月为间隔,在 2016-12-31 结束

因此,间隔看起来像 2014-06-30、2015-12-31、2015-06-30、2015-12-31、2016-06-30、2016-12-31

它还将忽略 MultiIndex 中的“键”名称索引。

我已经尝试使用TimeGrouper但无法让它工作,因为TimeGrouper从您的时间序列中最早的值开始并向前移动。

0 投票
2 回答
10232 浏览

python - 错误无法处理 groupby 子句中的非唯一多索引是什么意思?

我有一个具有三个索引级别的数据框,我希望计算一个值偏离平均值的程度。但是根据我的指数,我对不同的群体有不同的意思。这是我尝试过的:

但是,我收到一个错误,我在下面插入了堆栈跟踪。我不确定为什么会出现这样的问题。


我的数据框看起来像这样:

为简单起见,假设我的索引是 2 级而不是 3 级。我想做的是按 (cat,Sub) 分组,这意味着 (category,subcategory)。

然后在我按 cat=1, sub=2 分组的第一种情况下找到所有组的平均值,这将是 7+5/2=6。然后我想分别找到7-6和5-6。

所以像df.groupby(level=[0,1]).apply(lambda x: x-np.mean(x))

一些在我的电脑上显示错误的虚拟代码(Pandas 版本 0.17.1):

0 投票
1 回答
134 浏览

python - Groupby 使用列和索引,然后求和以创建新列

假设我有以下数据框:

我想获取人口总和(按索引和 city_name 分组)并在同一数据框中创建一个新列。例如,我想要一个如下所示的 DataFrame:

我遇到一些麻烦的原因是我不确定如何同时使用groupby索引和列。

0 投票
2 回答
37776 浏览

python - 在 pandas groupby 之后对每个组进行采样

我知道这一定在某个地方得到了回答,但我就是找不到。

问题:在 groupby 操作后对每个组进行采样。

0 投票
3 回答
2174 浏览

python - 在 Pandas 中,如何使用函数创建组?

我有以下数据框:

我还使用 pandas 文档中的函数来分隔“元音”和“辅音”之间的字母

我的问题是如何使用数据框索引中的字母类型进行分组?

0 投票
3 回答
4731 浏览

python - 熊猫 groupby 和 rolling_apply 忽略 NaN

我有一个熊猫数据框,我想计算一列的滚动平均值(在 groupby 子句之后)。但是,我想排除 NaN。

例如,如果 groupby 返回 [2, NaN, 1],则结果应该是 1.5,而当前它返回 NaN。

我尝试了以下方法,但似乎不起作用:

如果我什至尝试这个:

我在输出中得到了 NaN,所以它一定与 pandas 在后台的工作方式有关。

有任何想法吗?

编辑:这是我正在尝试做的代码示例:

结果是:

虽然我想拥有以下内容: