问题标签 [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 - 从 pandas DataFrame 返回最后一个有效(非空)值
假设我dataframe
看起来像:
我可以按“b”创建一个组。有没有一种快速的方法来获取每个组的“a”中的最后一个非 NA 值?在这种情况下,A 组为 3,B 组为 -9。
(在这种情况下,序列“a”按给定排序,但可能并非如此。可能还有另一列“c”,根据它定义“最后一个”。)
我通过查看 grouped.groups 字典编写了自己的循环代码。但显然,鉴于我庞大的数据集,这非常低效。我认为这可以非常简单地完成——也许我对熊猫太陌生了:-)
python - 将 Pandas GroupBy 输出从 Series 转换为 DataFrame
我从这样的输入数据开始
打印时显示如下:
分组很简单:
和打印产生一个GroupBy
对象:
但我最终想要的是另一个包含 GroupBy 对象中所有行的 DataFrame 对象。换句话说,我想得到以下结果:
我不太明白如何在 pandas 文档中完成此操作。欢迎任何提示。
python - 使用 pandas GroupBy.agg() 对同一列进行多个聚合
是否有 pandas 内置方法可以将两个不同的聚合函数f1, f2
应用于同一列df["returns"]
,而无需agg()
多次调用?
示例数据框:
语法错误但直觉上正确的方法是:
显然,Python 不允许重复键。有没有其他方式来表达输入agg()
?也许元组列表[(column, function)]
会更好,以允许将多个函数应用于同一列?但agg()
似乎它只接受字典。
除了定义一个仅应用其中两个函数的辅助函数之外,还有其他解决方法吗?(无论如何,这将如何与聚合一起工作?)
python - 合并 DataFrame 中的重复列
如果我有一个包含相同名称的列的数据框,有没有办法将具有相同名称的列与某种函数(即总和)结合起来?
例如:
我如何通过对列名相同的每一行求和来折叠 NY-WEB01 列(有一堆重复的列,而不仅仅是 NY-WEB01)?
python - 我有一长串需要排序的元组,例如。[('12/2010', 196.9876),('12/2010', 654.9876), ('11/2010', 234.9876)......]
我有一长串需要排序的元组,例如。[('11/2010', 196.9876),('11/2010', 654.9876), ('12/2010', 234.9876).........]
我想使用 date(1st element) 将元组中的第二个元素分组到单独的列表中。到目前为止,我已经得到了一个唯一日期列表,例如[11/2010,12/2010....]
,我试图使用这些来引用更大的列表并进行数学计算,我想出了:
这可能是真正的垃圾代码,但我是编码新手,尝试这样做非常沮丧,感谢提供的任何帮助。
PS我正在使用Python
python - Python - GroupBy 对象的滚动函数
我有一个grouped
类型的时间序列对象<pandas.core.groupby.SeriesGroupBy object at 0x03F1A9F0>
。grouped.sum()
给出了预期的结果,但我无法让 rolling_sum 使用该groupby
对象。有没有办法将滚动功能应用于groupby
对象?例如:
但是,我想要类似的东西:
python - 如何按键访问pandas groupby数据框
如何通过键访问 groupby 对象中相应的 groupby 数据框?
使用以下分组:
我可以遍历它以获取键和组:
我希望能够通过其密钥访问组:
但是当我尝试这样做时,gb[('foo',)]
我得到了这个奇怪pandas.core.groupby.DataFrameGroupBy
的对象,它似乎没有任何与我想要的 DataFrame 对应的方法。
我能想到的最好的是:
但这有点讨厌,考虑到大熊猫通常在这些事情上有多好。
这样做的内置方法是什么?
python - Replacing values with groupby means
I have a DataFrame with a column that has some bad data with various negative values. I would like to replace values < 0 with the mean of the group that they are in.
For missing values as NAs, I would do:
But how to do this operation on a condition like x < 0
?
Thanks!
python - pandas 将时间序列转换为多列 DataFrame
我有一个时间序列的日内数据如下所示
我希望将数据转换为 DataFrame,列作为每个日期,行作为日期中的时间。
这些我都试过了
但是如何将组转换为日期列 DataFrame?还是有更好的方法?
python - GroupBy pandas DataFrame 并选择最常见的值
我有一个包含三个字符串列的数据框。我知道第三列中唯一的一个值对于前两个的每个组合都是有效的。要清理数据,我必须按前两列按数据框分组,并为每个组合选择第三列的最常见值。
我的代码:
最后一行代码不起作用,它显示“Key error 'Short name'”,如果我尝试仅按 City 分组,则会收到 AssertionError。我能做些什么来解决它?