You need to enable JavaScript to run this app. 如何对Dataframe先按时间索引排序再按Ticker列做二次排序
优惠活动
大模型
产品
解决方案
定价
更多

如何对Dataframe先按时间索引排序再按Ticker列做二次排序

操作方法

你可以直接用pandas内置的sort_values方法实现需求,该方法支持同时按索引层级和指定列排序,不会打乱你已经排好的日期索引顺序:

# 替换df为你的DataFrame实际变量名
sorted_df = df.sort_values(by="Ticker", level=0, ascending=True)

参数说明:

  • level=0:指定优先按第0级索引(也就是你的datetime日期索引)排序,完全保留原有日期的先后顺序
  • ascending=True:指定Ticker列按字母升序排列,如果你需要倒序可以改成False

如果你的datetime索引包含时分秒,需要**按自然日期(忽略时间部分)**分组后再组内排序,可以用如下写法:

sorted_df = df.groupby(
    df.index.date, 
    group_keys=False, # 不额外生成分组索引列
    sort=False # 保留原有日期分组的先后顺序,不额外重排
).apply(lambda x: x.sort_values("Ticker", ascending=True))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 06:21:00