У меня есть датафрейм, где каждая строка имеет диапазон лет. Это код для его построения.
original = pd.DataFrame({'City': ['Paris','Rome','New York', 'Tokyo'], 'Color': ['red', 'orange', 'blue', 'purple'], 'Years': ['2010-2012', '2019-2020', '2015-2018', '2002-2003']})
Таблица выглядит примерно так:
City Color Years
Paris red 2010-2012
Rome orange 2019-2020
New York blue 2015-2018
Tokyo purple 2002-2003
Я хочу создать новую строку для каждого года в диапазоне 'Years' , Фрейм данных должен выглядеть следующим образом.
City Color Years
Paris red 2010
Paris red 2011
...
New York blue 2018
Tokyo purple 2002
Tokyo purple 2003
Это код, который я сейчас использую. Я пытаюсь добавить новую строку для каждого года, но она возвращает только пустой фрейм данных, и я не знаю, почему.
df_empty = pd.DataFrame({'City': [], 'Color': [], 'Years': []})
for index, row in original.iterrows():
dates = [int(s) for s in row['Years'].split("-") if s.isdigit()]
for i in range(dates[0],dates[1] + 1):
newrow = row
newrow.append(pd.Series([str(i)]))
df_empty.add(newrow)