如何移除pandas DatetimeIndex的年份分钟部分并按指定格式输出
Pandas DatetimeIndex格式化为「月-日 小时」的实现方案
直接使用DatetimeIndex自带的strftime方法即可完成格式转换,核心代码如下:
# 直接将索引替换为格式化后的字符串索引 df.index = df.index.strftime('%m-%d %H')
格式符说明
用到的strftime格式占位符对应规则:
%m:补零显示的两位月份(例如5月返回05)%d:补零显示的两位日期(例如16日返回16)%H:24小时制、补零显示的两位小时数(例如下午2点返回14)
对你给出的示例索引值2022-05-16 14:31:14,上述代码处理后会返回目标格式05-16 14。
注意事项
执行上述转换后,原DatetimeIndex类型会变为普通字符串索引,会丢失时间序列的计算属性,无法继续使用重采样、时间范围切片等时间类操作。如果后续还需要基于时间做计算,建议保留原DatetimeIndex,仅新增一列存储格式化后的字符串用于展示/导出:
# 保留原时间索引,新增格式化列 df['time_label'] = df.index.strftime('%m-%d %H')
内容的提问来源于stack exchange,提问作者PetersServer1
相关产品推荐
相关产品推荐

