Как преобразовать тип данных из int в datetime для столбца year в Pandas

#pandas #dataframe

#pandas #фрейм данных

Вопрос:

У меня есть данные со столбцом только с именем year, и тип данных int я хотел изменить на datetime тип данных. Я использовал много методов, но я не могу получить то, что хотел.

Вот мои данные:

введите описание изображения здесь

Как я могу изменить столбец Year на тип объекта datetime? В этой колонке нет месяцев и дат.

Ответ №1:

Я предполагаю, что преобразование каждого года в 1 января — это нормально:

 df['year_datetime'] = df.year.map(lambda x: pd.to_datetime(f'{x}-01-01'))
 

Комментарии:

1. Должен быть напечатан только год без месяца или дат. 1970, 1971, 1972 и так далее

Ответ №2:

to_datetime() с форматом

 df = pd.DataFrame({"year":pd.RangeIndex(1970,1980)})
df.year = pd.to_datetime(df["year"], format="%Y")
df
 

выходной сигнал

     year
0   1970-01-01
1   1971-01-01
2   1972-01-01
3   1973-01-01
4   1974-01-01
5   1975-01-01
6   1976-01-01
7   1977-01-01
8   1978-01-01
9   1979-01-01

 

Комментарии:

1. На выходе должен быть год 1970 1971 1972 1973 1974 и т. Д