Вот текущее значение df:
ID Date
1 3/29/2017
2
3 11/5/2015
4
5 2/28/2017
Я пытаюсь получить год + месяц в виде строки в новом столбце. И это мой код:
df["Year"] = df["Date"].dt.year
df["Month"] = df["Date"].dt.month
df["yyyy_mm"] = df["Year"].map(str) + "-" + df["Month"].map(str)
Проблема в том, что когда я извлекаю год и месяц из даты, он возвращает тип с плавающей запятой.
ID Date Year Month yyyy_mm I hope to get this
1 3/29/2017 2017.0 3.0 2017.0-3.0 2017-3
2 nan-nan
3 11/5/2015 2015.0 11.0 2015.0-11.0 2015-11
4 nan-nan
5 2/28/2017 2017.0 2.0 2017.0-2.0 2017-2
Я попытался использовать df["Date"].dt.year.astype(int)
для преобразования его в int, чтобы не было .0
, но я получил эту ошибку: Невозможно преобразовать неконечные значения (NA или inf) в целое число. Потому что там в столбце NAN.
Я не хочу заполнять весь год и месяц 0 или чем-то еще, я просто хочу оставить их пустыми, так как date
пуст в этой строке.