小编Aub*_*rey的帖子

在Python中的日期范围内为每年创建新行?

我有一个数据框,其中每一行都有一个年份范围。这是构建它的代码。

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)

python range python-3.x pandas

4
推荐指数
1
解决办法
488
查看次数

标签 统计

pandas ×1

python ×1

python-3.x ×1

range ×1