我有一个带有以下几列的 Pandas 数据框:
id start end
1 101 101
2 102 104
3 108 109
我想用附加行填充开始和结束之间的空白,因此输出可能如下所示:
id number
1 101
2 102
2 103
2 104
3 108
3 109
有没有办法在 Pandas 中做到这一点?谢谢。
使用嵌套列表理解range
并对元组列表进行扁平化,最后使用DataFrame
构造函数:
zipped = zip(df['id'], df['start'], df['end'])
df = pd.DataFrame([(i, y) for i, s, e in zipped for y in range(s, e+1)],
columns=['id','number'])
print (df)
id number
0 1 101
1 2 102
2 2 103
3 2 104
4 3 108
5 3 109
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)