问题标签 [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.
python - 带有 bin 计数的 Pandas groupby
我有一个看起来像这样的 DataFrame:
我想将其转换为计算属于某些垃圾箱的视图,如下所示:
我试过:
但它只给出聚合计数,而不是用户计数。如何按用户获取 bin 计数?
总计数(使用我的真实数据)如下所示:
python - pandas groupby()之后将reset_index()重置为原始列索引?
我生成了一个分组的数据框df = df.groupby(['X','Y']).max()
,然后我想将其写入(到 csv,没有索引)。所以我需要将“X”和“Y”转换回常规列;我尝试使用reset_index()
,但列的顺序错误。
如何将列“X”和“Y”恢复到它们的确切原始列位置?
是解决方案:
然后找到一种方法来改变列的顺序?
(我也发现了这种方法,用于 multiindex)
python - 根据组对数据框进行切片,没有连续的字符串
我有一个数据框,其中包含不同国家/地区的问题结果,每个国家/地区都有重复条目。这些国家在 v6 中找到。例如:
我知道如何从比利时提取数据
我想知道是否有一种优雅的方法可以在 v6 中找到的 26 个国家/地区执行相同的操作,而无需为所有人编写代码。我认为它与groupby()
,因为这给了我 v6 的不同值。并且itertools
经常在论坛中被引用,但我没有得到它的工作。我得到的最接近的方法是临时保存并打印 中的国家locals()
或以下代码,但它们都不起作用,因为我不知道如何进行变量更改名称
python - 一组中的 Python Pandas 最大值作为新列
我正在尝试计算一个新列,其中包含几个组中的每一个的最大值。我来自 Stata 背景,所以我知道 Stata 代码是这样的:
例如:
然后我希望它看起来像:
最终,我试图形成一个列,记录每个组的1/(max-min) * odds
位置max
和min
位置。
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
从您的时间序列中最早的值开始并向前移动。
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):
python - Groupby 使用列和索引,然后求和以创建新列
假设我有以下数据框:
我想获取人口总和(按索引和 city_name 分组)并在同一数据框中创建一个新列。例如,我想要一个如下所示的 DataFrame:
我遇到一些麻烦的原因是我不确定如何同时使用groupby
索引和列。
python - 在 pandas groupby 之后对每个组进行采样
我知道这一定在某个地方得到了回答,但我就是找不到。
问题:在 groupby 操作后对每个组进行采样。
python - 在 Pandas 中,如何使用函数创建组?
我有以下数据框:
我还使用 pandas 文档中的函数来分隔“元音”和“辅音”之间的字母
我的问题是如何使用数据框索引中的字母类型进行分组?
python - 熊猫 groupby 和 rolling_apply 忽略 NaN
我有一个熊猫数据框,我想计算一列的滚动平均值(在 groupby 子句之后)。但是,我想排除 NaN。
例如,如果 groupby 返回 [2, NaN, 1],则结果应该是 1.5,而当前它返回 NaN。
我尝试了以下方法,但似乎不起作用:
如果我什至尝试这个:
我在输出中得到了 NaN,所以它一定与 pandas 在后台的工作方式有关。
有任何想法吗?
编辑:这是我正在尝试做的代码示例:
结果是:
虽然我想拥有以下内容: