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、进行文件输出时,作为标题使用,减少字符间隔