如何使用两个键对Ray数据集执行groupby并计算Sales总和?
Ray Data多列分组计算Sales总和的实现方案
Ray Data的groupby方法与Pandas不同,无法直接传入列名列表作为多分组键,你可以通过以下两种方式实现需求:
方法1:使用aggregate结合多列分组键
直接通过aggregate方法的groupby参数指定多个分组列,同时定义聚合规则:
import pandas as pd import ray ray.init() rdf = ray.data.from_pandas(pd.DataFrame({'A':[1,2,3],'B':[1,1,4],'Sales':[20,30,40]})) # 按A、B列分组,计算Sales总和 result = rdf.aggregate( groupby=["A", "B"], aggregations={"Sales": "sum"} ) # 查看结果 result.show()
方法2:通过groupby的key参数组合多列
将多列值组合成元组作为分组键,再执行聚合操作:
import pandas as pd import ray ray.init() rdf = ray.data.from_pandas(pd.DataFrame({'A':[1,2,3],'B':[1,1,4],'Sales':[20,30,40]})) # 组合A、B列作为分组键,计算Sales总和 result = rdf.groupby(key=lambda row: (row["A"], row["B"])).sum("Sales") # 查看结果 result.show()
两种方法执行后都会得到按A、B列分组的Sales汇总结果,你可以根据自己的使用习惯选择。
内容的提问来源于stack exchange,提问作者Justice_Lords
相关产品推荐
相关产品推荐

