pandas如何将单独的年、月列合并为年月格式的日期新列
解决方案
以下是不同需求下的实现方式:
生成标准
datetime类型的日期列(最推荐,方便后续做时间筛选、序列运算等操作)
因为年月日期需要指定一个具体的日才能转为标准日期,我们默认设为每月1号即可:df['date'] = pd.to_datetime(df[['year', 'month']].assign(day=1))运行后
date列的格式示例:2011-01-01、2011-02-01生成
YYYY-MM格式的字符串类型年月
如果你只需要展示用的年月文本,可以用如下写法,自动给个位数的月份补前导0:df['date'] = df['year'].astype(str) + '-' + df['month'].astype(str).str.zfill(2)运行后
date列的格式示例:2011-01、2011-02修正你的原有写法
你原来的代码里额外加的+1是错误的,会导致月份偏移1位,如果需要生成201101这种数字格式的年月,直接用如下代码即可:df['date'] = df['year'] * 100 + df['month']运行后
date列的格式示例:201101、201102
内容的提问来源于stack exchange,提问作者Alexis
相关产品推荐
相关产品推荐

