从这样的数据帧:
ref from to
abcd 1 2
efgh 2 4
ijkl 1 3
mnop 3 4
qrst 4 4
uvwx 4 6
这个想法是在
from
和 to
列之间“填补空白”以获得:ref value
abcd 1
abcd 2
efgh 2
efgh 3
efgh 4
ijkl 1
ijkl 2
ijkl 3
mnop 3
mnop 4
qrst 4
uvwx 4
uvwx 5
uvwx 6
最佳答案
numpy
方法
r = df['ref'].values
f = df['from'].values
t = df['to'].values
pd.DataFrame(dict(
ref=r.repeat(t - f + 1),
value=np.concatenate([np.arange(f, t + 1) for f, t in zip(f, t)])
))
ref value
0 abcd 1
1 abcd 2
2 efgh 2
3 efgh 3
4 efgh 4
5 ijkl 1
6 ijkl 2
7 ijkl 3
8 mnop 3
9 mnop 4
10 qrst 4
11 uvwx 4
12 uvwx 5
13 uvwx 6
时间
关于Pandas:创建行以填补数字空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44577976/