当前位置: 首页 > 知识库问答 >
问题:

具有sum()和mean()[duplicate]的Groupby

尹冠宇
2023-03-14

我有一堆数据帧,我连接成一个大数据帧。所有行都有一个datetime、一个名称,然后是一些具有随机值的列,例如,数据帧可以如下所示:

df =

ds                    name       val1     val2     val3
-------------------------------------------------------
2021-07-31 23:23:00   name1      2        3        4
2021-07-31 23:56:00   name2      3        4        5
2021-07-31 23:11:00   name1      4        5        6
2021-07-31 23:34:00   name2      5        6        7

现在,我需要按名称对这些行进行分组,并将它们分成60分钟的bins,我目前的做法如下:

final_df = df.groupby([pd.Grouper(freq="60min", key="ds"), "name"]).mean()
df_final =

ds                    name       val1     val2     val3
-------------------------------------------------------
2021-07-31 23:00:00   name1      3        7        5
2021-07-31 23:00:00   name2      4        10       6

这可以用任何方式来完成吗?或者我必须将我的数据帧一分为二,然后在之后加入?

共有1个答案

吴和硕
2023-03-14

DataFrameGroupBy.agg与字典一起使用:

df.groupby([pd.Grouper(freq="60min", key="ds"), "name"]).agg({'val1': 'mean', 'val2': sum, 'val3': 'mean'})
 类似资料:
  • 问题内容: 请帮助我处理使用带有GROUP和SUM的LINQ进行查询的问题。 我希望: 从db.MYDATABASE中获取前25个项目 将所有结果按bs.PRODCODE分组 按每个bs的总和排序。 公司是“我的公司” 然后将数据管道到我的对象中 我很困惑,因为一旦我将其添加到混音中,我的变量就变得无用了。 问题答案: 我很困惑,因为一旦我将组添加到混合中,我的bs变量就变得无用了。 是的,因为您

  • 问题内容: 我已经在这个论坛上使用了一段时间,以找到一些与SQL有关的问题的答案。现在是时候问一个我已经尝试解决一段时间的问题了。 我有两个表(产品和源)。 我想创建一个SQL SELECT来从源中检索记录列表,并从产品中检索一条附加记录(价格的总和)。我想看到的表应如下所示: source.source_id | source.location | source.source_name | so

  • 我有以下代码块可以正常工作; 这给了我2个错误; 错误%1“System.Collections.ObjectModel.ObservableCollection.ObservableCollection(System.Collections.Generic.List)”的最佳重载方法匹配包含一些无效参数 错误2参数1:无法从“System.Linq.IQueryable>”转换为“System.

  • 问题内容: 很抱歉,我只学习了PHP和MySQL,已经搜索了一个多星期,但是没有找到任何答案。 我创建了一个简单的财务脚本,该表如下所示: 我想要这样的结果 有人可以帮助我解决我的问题吗? 谢谢 问题答案: 正如@Quassnoi指出的那样,这对于MySQL来说不是很有效。我尝试使用怪胎连接而不是子查询,因为内部查询本身就可以使用。 编辑 对此引起了一些兴趣,发现连接版本的速度是@Quassnoi

  • 我目前有以下情况: 我有一个对象,它可以包含多个对象。对象具有属性:

  • 我需要查询MySql数据库的客户数据。 我有客户表、订单和连接表。 我需要找到最后一次访问-MAX(connection.date_add) 以及订单的总和。 我厌倦了在一个问题中做这件事- 问题是,每个连接的结果有一行,订单数乘以连接数 我通过3次查询解决了这个问题,然后“手动”合并结果 我的问题:是否可以在一个查询中完成?? 我知道在其他SQLdbs中,您可以使用AND语句,但是在MySql中