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

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

pandas生成时间序列方法

生成完成之后,再通过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、进行文件输出时,作为标题使用,减少字符间隔
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐