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

如何解决Pandas DataFrame按datetime排序时同小时内时间顺序错误问题

问题原因

同一小时内时间排序错误的核心原因大概率是DateTime列当前为字符串格式而非Pandas原生的时间格式,字符串的排序规则是逐字符对比,和时间的先后规则不匹配。

修复步骤

  1. 先将DateTime列转换为时间格式:
import pandas as pd
# 无特殊格式直接转换
airings_df['DateTime'] = pd.to_datetime(airings_df['DateTime'])

# 如果时间格式固定,可传入format参数提升转换效率、避免识别错误,根据实际时间格式调整即可,示例如下:
# airings_df['DateTime'] = pd.to_datetime(airings_df['DateTime'], format='%Y-%m-%d %H:%M:%S')
  1. 格式转换完成后再执行原有排序操作即可:
airings_df = airings_df.sort_values(by=['Station', 'DateTime'])

验证方式

排序完成后可通过以下代码确认排序效果符合预期:

print(airings_df[['Station', 'DateTime']].head(20))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 09:00:00