You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:按日期sort/groupby/concatenate列表数据且保留原索引顺序的问题

正确实现代码

你可以直接使用下方代码完成需求,操作过程不会改变日期在原始数据中的出现顺序,同时实现按日期合并字段的效果:

import pandas as pd

# 纵向拼接列表中所有的DataFrame,忽略原有索引
df = pd.concat(loop_1, ignore_index=True)
# 按日期分组,关闭自动排序保证原始顺序,同日期的各列取第一个非空值合并
df = df.groupby('date', sort=False, as_index=False).first()
之前尝试的写法问题说明
  • 第一种写法pd.concat(loop_1,axis=1)为横向拼接逻辑,会把列表内的每个DataFrame作为独立列块并排摆放,不会按日期字段匹配合并,不符合需求
  • 第二种写法中groupby默认开启排序,会自动对日期列进行升序重排,破坏原始数据的日期顺序
  • 第三种写法存在语法错误,groupby的多个参数之间缺少逗号分隔,运行会直接报错;即使修正语法,默认参数会把date设为索引,若需要date作为普通列还要额外做索引重置。

内容的提问来源于stack exchange,提问作者kobo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:48:02