如何将xarray数据集的时间维度处理为仅保留年月日的格式
xarray时间维度去除时分秒仅保留日期的解决方法
你之前使用的round('D')和floor('D')方法仅会将datetime64类型的时间值对齐到当日0点,不会改变数据本身的datetime类型,因此打印时仍会显示完整的年-月-日T时:分:秒格式后缀。
以下是两种可实现需求的方案:
方案1:直接转为「年-月-日」格式的字符串(适合仅需展示、字符串匹配的场景)
使用dt.strftime方法指定日期格式即可:
ds['time'] = ds['time'].dt.strftime('%Y-%m-%d')
运行后time维度的值就会变为'2017-08-13'、'2017-08-18'格式的字符串。
方案2:转为date类型(适合后续仍需做时间运算的场景)
如果不想转为字符串,保留日期类的运算能力,可以直接提取date对象:
ds['time'] = ds['time'].dt.date
此时time维度存储的是Python原生datetime.date类型,打印时仅显示年月日,同时支持日期差、大小比较等时间运算。
内容的提问来源于stack exchange,提问作者Sher
相关产品推荐
相关产品推荐

