我想根据两列( index_start
和 index_end
)中的数值扩展我的数据框。我的 df 看起来像这样:
item index_start index_end
A 1 3
B 4 7
我希望它扩展以创建从 1 到 3 的 A 行和从 4 到 7 的 B 行,就像这样。item index_start index_end index
A 1 3 1
A 1 3 2
A 1 3 3
B 4 7 4
B 4 7 5
B 4 7 6
B 4 7 7
不确定如何在 Python/pandas 中实现这一点。
最佳答案
您可以使用 .explode()
df['index'] = df.apply(lambda row: list(range(row['index_start'], row['index_end']+1)), axis=1)
df.explode('index')
item index_start index_end index
0 A 1 3 1
0 A 1 3 2
0 A 1 3 3
1 B 4 7 4
1 B 4 7 5
1 B 4 7 6
1 B 4 7 7
关于python - 根据列值生成行数 - Pandas/Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68926007/