Pandas如何合并DataFrame相同日期行并对第二列评分取均值
处理方案
核心是通过pandas的分组聚合能力实现按日期合并计算平均评分,同时保留原有的日期降序排列:
- 分组时设置
sort=False,避免pandas的groupby默认对日期升序排序打乱原有顺序 - 聚合后重置索引,即可得到标准结构的结果DataFrame
完整代码示例
import pandas as pd # 构造原始DataFrame(实际使用时替换为你自己的df即可) df = pd.DataFrame({ "Date": ["2021-05-05", "2021-05-05", "2021-05-05", "2021-05-04", "2021-05-04", "2021-05-04"], "Rating": [1, 3, 2, 4, 6, 5] }) # 核心处理逻辑 result = df.groupby("Date", sort=False)["Rating"].mean().reset_index() # 若需要平均评分取整数,打开下一行注释即可 # result["Rating"] = result["Rating"].astype(int) print(result)
输出结果
Date Rating 0 2021-05-05 2.0 1 2021-05-04 5.0
如果执行了取整代码,Rating列会显示为整数2、5,和预期结果完全一致。
内容的提问来源于stack exchange,提问作者wjvaug
相关产品推荐
相关产品推荐

