我将年、月和日期分为三列,我将它们连接到一列,然后尝试将此列转换为YYYY/mm/dd格式,如下所示:
dfyz_m_d['dt'] = '01'# to bring one date of each of the month
dfyz_m_d['CalendarWeek1'] = dfyz_m_d['year'].map(str) + dfyz_m_d['mon'].map(str) + dfyz_m_d['dt'].map(str)
dfyz_m_d['CalendarWeek'] = pd.to_datetime(dfyz_m_d['CalendarWeek1'], format='%Y%m%d')
但对于1(1月)和10(10月)两个月,我的最终结果只有10月(CalendarWeek comun没有任何1月。基本上,它保留了所有记录,但1月也格式化为10月
我喜欢
str.pad
:)它将在左侧填充零,以确保字符串的长度为2。所以
1
变成了01
,但是10
保持为10
问题是
Jan
在数字上是一位数,因此您最终会得到类似2021101
的结果,它将被解释为Oct而不是Jan。确保您的mon
列始终转换为两位数月份,如果需要,请使用.zfill(2)
:zfill示例:
我通常这样做
此外,如果列的名称正确,请注意名称为年、月和日
相关问题 更多 >
编程相关推荐