问题标签 [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 - 使用 groupby 获取组中具有最大值的行
count
在按列分组后,如何在 pandas 数据框中找到列的最大值的所有行['Sp','Mt']
?
示例 1:以下数据帧,我将其分组['Sp','Mt']
:
预期输出:获取组间计数最大的结果行,例如:
示例 2:这个数据框,我按以下方式分组['Sp','Mt']
:
对于上面的示例,我想在每个组中获取等于 max的所有行,例如:count
python - 使用 Groupby 的 Python Pandas 条件和
使用样本数据:
df
我试图弄清楚如何按 key1 对数据进行分组,并仅对 key2 等于“一”的 data1 值求和。
这是我尝试过的
但这给了我一个“无”值的数据框
这里有什么想法吗?我正在寻找与以下 SQL 等效的 Pandas:
仅供参考 - 我已经看到pandas 聚合的条件总和, 但无法将那里提供的答案转换为使用总和而不是计数。
提前致谢
python - Pandas 按年份分组,按销售列排名,在具有重复数据的数据框中
我想按年创建排名(所以在 2012 年,经理 B 为 1。2011 年,经理 B 再次为 1)。我在 pandas rank 函数中挣扎了一段时间,不想诉诸 for 循环。
我遇到的问题是附加代码(以前认为这不相关):
有任何想法吗?
这是我正在使用的真实数据结构。重新索引时遇到问题..
python - 在 Pandas 数据框中查找具有相同值的行
我目前有一个包含 1,0000 多行和 600 列的大型数据框。该表在左侧按标识索引,每列是一个位置。网格中每个点的值是 0 或 1。我希望能够通过确定哪些在其行中具有相同的 0 和 1 模式来找出和分组身份。
例如:
python - 根据熊猫数据框中的列标签对数据进行分组
我一直在阅读熊猫数据框中的分层索引和多索引,但似乎这些都是针对有序标签的。例如,我的数据如下所示:
我希望能够根据列标签将数据分组在一起,即。通过平均将第 3 行中带有“d”的所有列聚合在一起。
将这些 excel 数据(或 csv,如果绝对需要)放入数据框以便我可以执行这些操作的最佳方法是什么,我将如何去做?
任何建议或参考将不胜感激
编辑
我尝试使用以下命令从 csv 加载数据:
这在加载时给了我这个:
我只是不确定从那里去哪里。
python - 具有 NaN(缺失)值的 pandas GroupBy 列
我有一个 DataFrame,在我希望分组的列中有许多缺失值:
看到 Pandas 已经删除了具有 NaN 目标值的行。(我想包括这些行!)
因为我需要很多这样的操作(很多列有缺失值),并且使用比中位数更复杂的函数(通常是随机森林),所以我想避免编写过于复杂的代码。
有什么建议么?我应该为此编写一个函数还是有一个简单的解决方案?
python - Boxplot with pandas groupby multiindex, for specified sublevels from multiindex
Ok so I have a dataframe which contains timeseries data that has a multiline index for each columns. Here is a sample of what the data looks like and it is in csv format. Loading the data is not an issue here.
What I want to do is to be able to create a boxplot with this data grouped according to different catagories in a specific line of the multiindex. For example if I were to group by 'SPECIES' I would have the groups, 'aq', 'gr', 'mix', 'sed' and a box for each group at a specific time in the timeseries.
I've tried this:
but it gives me a boxplot (flat line) for each point in the group rather than for the grouped set. Is there an easy way to do this? I don't have any problems grouping as I can aggregate the groups any which way I want, but I can't get them to boxplot.
python - 使用 pandas GroupBy 获取每个组的统计信息(例如计数、平均值等)?
我有一个数据框df
,我使用其中的几列来groupby
:
通过上述方式,我几乎得到了我需要的表格(数据框)。缺少的是包含每个组中的行数的附加列。换句话说,我的意思是,但我也想知道有多少数字被用来获得这些手段。例如,第一组有 8 个值,第二组有 10 个,依此类推。
简而言之:如何获得数据框的分组统计信息?
python - 在 Pandas Groupby 函数中重命名列名
Q1)我想做一个groupby,SQL风格的聚合并重命名输出列:
示例数据集:
我想通过对这个数据集的观察进行分组,ID
并对每个组Region
求和count
。所以我用了这样的东西......
在使用as_index=False
时,我能够获得“类似 SQL”的输出。我的问题是我无法在这里重命名聚合变量count
。所以在 SQL 中,如果想做上述事情,我会做这样的事情:
正如我们所看到的,我很容易将聚合变量重命名为count
SQL Total_Numbers
。我想在 Pandas 中做同样的事情,但在 group-by 函数中找不到这样的选项。有人可以帮忙吗?
第二个问题(更多是观察)是...
Q2) 是否可以直接在 Pandas 数据框函数中使用列名而不用引号将它们括起来?
我知道变量名是字符串,所以必须在引号内,但我看看是否在数据框函数之外使用它们,并且作为属性,我们不要求它们在引号内。df.ID.sum()
等等。只有当我们在 DataFrame 函数中使用它时,或者df.sort()
我们df.groupby
必须在引号内使用它。这实际上有点痛苦,因为在 SQL 或 SAS 或其他语言中,我们只是使用变量名而不引用它们。对此有何建议?
请回答这两个问题(Q1 是主要的,Q2 更多的意见)。
python - datetime.date 在 Pandas 0.8.1 中使用 set_index、groupby 和 apply 产生许多问题
我在由于官僚原因无法升级的环境中使用 Pandas 0.8.1。
在阅读有关初始问题和我的目标的所有内容之前,您可能想跳到下面的“简化问题”部分。
我的目标:按分类列“D”对 DataFrame 进行分组,然后对于每个组,按日期列“dt”排序,将索引设置为“dt”,执行滚动 OLS 回归,并返回beta
回归系数的 DataFrame按日期索引。
最终结果希望是一堆堆叠的beta
帧,每个帧对某些特定的分类变量都是唯一的,因此最终索引将是两个级别,一个用于类别 ID,一个用于日期。
如果我做类似的事情
然后我KeyError: 0
经常遇到令人沮丧的无信息错误,并且回溯似乎在日期时间问题上令人窒息:
如果我在 group-by 对象中的每个组上手动执行回归步骤,那么一切都会顺利进行。
代码:
现在,当我尝试使用groupby
和处理这些时会发生什么apply
:
如果我保存groupby
对象并尝试应用foo
自己,那么以直接的方式,这也会失败:
但是,如果我存储其中一个组数据帧,然后调用foo
它,这工作得很好......??
这里发生了什么?它是否与触发转换为错误日期/时间类型的逻辑被触发的情况有关?我该如何解决它?
简化问题
我可以将问题简化为函数set_index
内的apply
调用。但这变得非常奇怪。这是一个更简单的测试 DataFrame 的示例,只是带有set_index
.
set_index
在这里工作正常,没有日期更改或任何东西。
groupby
但是不能成功set_index
(注意它在遇到任何大小不一致的解包问题之前会出错,它根本无法重置索引)。
很奇怪的部分
在这里,我保存了组对象,并尝试手动调用set_index
它们。这行不通。即使我从组中保存了特定的 DataFrame 元素,它也不起作用。
但是,如果我构建组的 DataFrame 的手动直接副本,那么set_index
手动重建是否有效?
正如海盗在 Archer 第 3 季的前几集中所说的那样:什么该死的家伙?