合并数据时,我总是遇到错误:
record_id month day year sex
1 7 17 1977 M
2 7 15 1979 M
3 7 26 1978 F
4 7 16 1973 M
我尝试了将月,日和年合并为一列的不同方法:
1. surveys_df['date'] = surveys_df['month'].astype(str) + surveys_df['day'] + surveys_df['year']
2. surveys_df['Date'] = pd.to_datetime(surveys_df[['month', 'day', 'year']])
3. r= pd.to_datetime(surveys_df[['year', 'month', 'day']])
4. surveys_df['date'] = pd.to_datetime(surveys_df[['day','month','year']])
我得到的错误:
ValueError:无法组合日期时间:day超出了范围 天
我知道我可以通过使用 error ='coerce'来强制执行此操作,但是我想避免使用该方法。
答案 0 :(得分:2)
pd.to_datetime(df[['year', 'month', 'day']])
0 1977-07-17
1 1979-07-15
2 1978-07-26
3 1973-07-16
dtype: datetime64[ns]
如果您要NaTify包含无效的组合,请添加errors='coerce'
参数。