如何将Ameren电价DataFrame调整为2017年1月至2022年10月的正序?
解决Ameren电价数据集的时间正序排序问题
针对你的需求,有两种可靠的解决方案:
方法1:直接反转行顺序(简单快速)
你执行dataset.iloc[::-1]后未看到变化,是因为该操作仅返回新的DataFrame,不会修改原数据集。需要将结果赋值回原变量:
# 反转行顺序 dataset = dataset.iloc[::-1] # 可选:重置索引,让索引从0重新开始 dataset = dataset.reset_index(drop=True)
执行后即可得到从2017年1月到2022年10月的正序数据。
方法2:转换为日期类型后排序(通用可靠)
如果后续需要进行更多时间相关操作,将Month列转为日期类型能彻底避免字符串排序的逻辑问题:
- 把
Month列转换为datetime格式:
import pandas as pd dataset['Month'] = pd.to_datetime(dataset['Month'], format='%b-%y')
其中%b匹配月份缩写(如Oct、Jan),%y匹配两位年份(如22、17)。
- 按日期列正序排序:
dataset = dataset.sort_values('Month')
- (可选)若需保留原
Month格式(如Oct-22),可转换回字符串:
dataset['Month'] = dataset['Month'].dt.strftime('%b-%y')
内容的提问来源于stack exchange,提问作者EcoHealthGuy
相关产品推荐
相关产品推荐

