У меня есть кадр данных, который я проанализировал из большего кадра, который выглядит следующим образом:
Contract Date
2012.0
2011.0
2011.0
2010.0
1312.0
1235.0
1235.0
1235.0
1230.0
.
.
111.0
111.0
110.0
110.0
Я преобразовал все это в строки, чтобы я мог разрезать значения, потому что эти даты находятся вочень странный формат.
В основном 2012.0 - 2010.0
- декабрь каждого года (2012 - 2010), но даты, такие как 1235.0
и 110.0
, представлены в формате MMYY - 1235.0
- декабрь 2035 и 110.0
- январь 2010.
Я хочу сделать простой цикл для итерации по этим датам и преобразования их в месяцы и год на основе условий, которые я описал выше.Сначала я попытался получить месяц, используя неудачную попытку использования iterrows
:
for index, row in contract.iterrows():
if len(row) > 4:
contract['Month'] = contract['Contract_Exp_Date'].str[:2]
else:
contract['Month'] = contract['Contract_Exp_Date'].str[:1]
Но это не сработало и зацикливалось на преувеличенное количество времени - вероятно, потому что мне нужно было appending
, чтобыновый столбец, а не создание нового столбца Month
каждую итерацию.
Как я могу выполнить цикл по каждой строке и очистить месяц и год, исходя из условий, которые я упоминал выше, правильно?