use*_*036 4 python dataframe pandas
我想根据两列 (index_start和index_end) 中的数值扩展我的数据框。我的 df 看起来像这样:
item index_start index_end
A 1 3
B 4 7
Run Code Online (Sandbox Code Playgroud)
我希望它扩展以创建从 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
Run Code Online (Sandbox Code Playgroud)
不确定如何在 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |