python 如何将时间输出为年月的形式

python 如何将时间输出为年月的形式

1、通过panda先生成时间序列,再转换

生成完成之后,再通过pd.to_datetime((time.data)).strftime(%Y-%m-%d %H:%M) 可以将时间序列转换为年、月、日、时、分,也可以生成年、月、日的形式,将上述代码改为pd.to_datetime((time.data)).strftime(%Y-%m-%d )即可。

实例代码如下:

import pandas as pd
from datetime import datetime
start = datetime(2021, 6, 1)
end = datetime(2021, 6, 30,23)
tm = pd.date_range(start, end, freq=H)#H表示小时hour
time=pd.to_datetime((tm)).strftime(%Y-%m-%d)

结果如下所示:

2、通过读取nc文件中的时间,再转换

如下图所示,nc文件中时间格式如下, 想要将其转换为年月的格式输出 方法类似,先通过pandas.to_datetime()命令将时间转换为DatetimeIndex的格式,再通过strftime(%Y-%m-%d %H:%M)命令输出即可 示例代码如下:

import xarray as xr

path=r"D://test.nc"

da=xr.open_dataset(path).sel(lat=slice(-20,20),time=slice(1982,2018))

time=pd.to_datetime(da.time).strftime("%Y.%m").values

运行结果如下所示:

应用场景

    1、绘图时需要添加标题,只想显示年、年月、年月日,可以通过上述命令转换完成后,再通过字符串str(time)直接添加到标题中. 如下图所示: 命令语句:
ax.set_title(scatterplot of different labels-+pd.to_datetime(da.time).strftime("%Y.%m").values[0],
   fontsize=20,pad=10)
    2、进行文件输出时,作为标题使用,减少字符间隔
经验分享 程序员 微信小程序 职场和发展