Combinar las columnas de año, mes y día en una columna de fecha única con pandas

Sigo encontrando un error al combinar mis datos:

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 

Probé diferentes métodos de combinar el mes, la fecha y el año en una columna:

 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']]) 

El error que recibo:

ValueError: no puede ensamblar los tiempos de datos: el día está fuera del rango para el día

Sé que puedo forzarlo usando error = ‘coerce’ pero me gustaría abstenerme de usar ese método.

 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] 

Si hay combinaciones no válidas que desea NaTify, a continuación, agregue el errors='coerce' argumento errors='coerce' .