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

如何使用Python Pandas按日期从最旧到最新排序CSV文件数据行

用Pandas对CSV数据按日期从旧到新排序的解决方案

嘿,我来帮你搞定这个排序问题!你有个日期乱序的data.csv,想要用Pandas把数据按日期从最旧到最新排好,对吧?结合你给的初始代码和数据,我给你两种实用的实现方式:

方法一:读取时直接解析日期(更高效)

这种方式在读取CSV的时候就把Date列转换成datetime类型,一步到位:

import pandas as pd

# 读取CSV并自动解析Date列为日期格式
data = pd.read_csv('data.csv', parse_dates=['Date'])
# 按Date列升序排序(最旧→最新),inplace=True直接修改原DataFrame
data.sort_values(by='Date', ascending=True, inplace=True)
# 重置索引,避免排序后索引混乱
data.reset_index(drop=True, inplace=True)

# 查看结果或者保存到新文件
print(data)
# data.to_csv('sorted_data.csv', index=False)  # 若需要保存排序后的文件

方法二:基于你提供的初始代码修改

如果你更倾向于先读取再转换日期,可以这样调整:

import pandas as pd

data = pd.read_csv('data.csv')
# 将Date列转为datetime类型,替换原列
data['Date'] = pd.to_datetime(data['Date'])
# 按Date升序排序,得到新的DataFrame
data_sorted = data.sort_values(by='Date', ascending=True)
# 重置索引
data_sorted.reset_index(drop=True, inplace=True)

# 输出结果
print(data_sorted)

关键参数说明

  • ascending=True:这是实现从最旧到最新排序的核心,如果你想要反过来(最新→最旧),把它改成False就行。
  • reset_index(drop=True):排序后原索引会混乱,这行代码可以重置索引,让行号从0开始连续排列。

对了,看你给出的预期输出是按最新到最旧排列的(13:17 → 13:16 → 13:15),如果这才是你实际想要的,只需要把ascending=True改成ascending=False就可以得到对应的结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 01:59:07