我有一个数据框,其中每一行都有一个年份范围。这是构建它的代码。
original = pd.DataFrame({'City': ['Paris','Rome','New York', 'Tokyo'], 'Color': ['red', 'orange', 'blue', 'purple'], 'Years': ['2010-2012', '2019-2020', '2015-2018', '2002-2003']})
Run Code Online (Sandbox Code Playgroud)
桌子看起来像这样。
City Color Years
Paris red 2010-2012
Rome orange 2019-2020
New York blue 2015-2018
Tokyo purple 2002-2003
Run Code Online (Sandbox Code Playgroud)
我想在“年”范围内为每年创建一个新行。数据框应该如下所示。
City Color Years
Paris red 2010
Paris red 2011
...
New York blue 2018
Tokyo purple 2002
Tokyo purple 2003
Run Code Online (Sandbox Code Playgroud)
这是我现在正在使用的代码。我试图为每年添加一个新行,但它只返回一个空数据框,我不知道为什么。
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 …Run Code Online (Sandbox Code Playgroud)