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

如何对pandas DataFrame按月份优先排序 实现温度数据按月分组绘图

排序逻辑调整方案

你已经将Date列解析为datetime类型,可以直接通过日期内置属性提取排序键实现需求:

  1. 新增月份、年份辅助字段,按「月份优先、年份其次」的规则对DataFrame排序:
# 提取排序用的月份、年份字段
df1['month'] = df1['Date'].dt.month
df1['year'] = df1['Date'].dt.year
# 排序规则:先按月份升序,同月份下按年份升序
df1 = df1.sort_values(by=['month', 'year'], ascending=[True, True])
  1. 后续按日期分组统计温度时,关闭groupby的默认自动排序,保留上面调整好的行顺序即可:
# groupby加sort=False参数,避免被自动按日期重排
str_dates_temp = df1.groupby("Date", sort=False)["str_dates"].unique().to_list()
str_dates = [''.join(x) for x in str_dates_temp]
grouped_max_list = df1.groupby("Date", sort=False)["Data_Value"].max().to_list()
grouped_min_list = df1.groupby("Date", sort=False)["Data_Value"].min().to_list()

如果后续不需要保留month、year辅助字段,可在排序完成后删除:

df1.drop(['month', 'year'], axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:27:03