Python 如何将年(2位)、月和日的3个独立列合并为一个日期列
我将年、月和日的3个seoerate列合并到我的数据框架的一个列中。但是年份是2位数,这是错误的 我在jupyter笔记本中尝试了Python 如何将年(2位)、月和日的3个独立列合并为一个日期列,python,pandas,data-science,Python,Pandas,Data Science,我将年、月和日的3个seoerate列合并到我的数据框架的一个列中。但是年份是2位数,这是错误的 我在jupyter笔记本中尝试了to_datetime() Dataframe的格式如下: Yr Mo Dy RPT VAL ROS KIL SHA BIR DUB CLA MUL CLO BEL 61 1 1 15.04 14.96 13.17 9.29 NaN 9.87 13.67 10.25 10.83 12.58 18.50 6
to_datetime()
Dataframe的格式如下:
Yr Mo Dy RPT VAL ROS KIL SHA BIR DUB CLA MUL CLO BEL
61 1 1 15.04 14.96 13.17 9.29 NaN 9.87 13.67 10.25 10.83 12.58 18.50
61 1 2 14.71 NaN 10.83 6.50 12.62 7.67 11.50 10.04 9.79 9.67 17.54
61 1 3 18.50 16.88 12.33 10.13 11.17 6.17 11.25 NaN 8.50 7.67 12.75
data.rename(columns={'Yr':'Year','Mo':'Month','Dy':'Day'},inplace=True)
data['Date']=pd.to_datetime(data[['Year','Month','Day']],format='%y%m%d')
我得到的错误是:
无法汇编日期时间:时间数据610101与格式“%Y%m%d”不匹配(匹配)
指定列
['Year','Month','Day']
需要YYYY
格式,因此需要替代解决方案,因为年份仅为YY
:
s = data[['Yr','Mo','Dy']].astype(str).apply('-'.join, 1)
data['Date'] = pd.to_datetime(s, format='%y-%m-%d')
print (data)
Yr Mo Dy RPT VAL ROS KIL SHA BIR DUB CLA MUL \
0 61 1 1 15.04 14.96 13.17 9.29 NaN 9.87 13.67 10.25 10.83
1 61 1 2 14.71 NaN 10.83 6.50 12.62 7.67 11.50 10.04 9.79
2 61 1 3 18.50 16.88 12.33 10.13 11.17 6.17 11.25 NaN 8.50
CLO BEL Date
0 12.58 18.50 2061-01-01
1 9.67 17.54 2061-01-02
2 7.67 12.75 2061-01-03
@阿克谢巴特-不客气!如果我的回答有帮助,别忘了。谢谢