我有一个数据帧,其中每行都有一个年份范围。这是构建它的代码。
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
我想在“年”范围内为每年创建一个新行。数据帧应如下所示。
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)
FFIVE
相关分类