неверный git rebase -i --onto < branch > на родителя < branch >

set_index и reset_index - ваши друзья.

df = DataFrame({"A":[0,0.5,1.0,3.5,4.0,4.5], "B":[1,4,6,2,4,3], "C":[3,2,1,0,5,3]})

Сначала переместите столбец A в индекс:

In [64]: df.set_index("A")
Out[64]: 
     B  C
 A        
0.0  1  3
0.5  4  2
1.0  6  1
3.5  2  0
4.0  4  5
4.5  3  3

Затем переиндексируйте с новым индексом, здесь недостающие данные заполняются с помощью nans. Мы используем объект Index, так как мы можем назвать его; это будет использовано на следующем шаге.

In [66]: new_index = Index(arange(0,5,0.5), name="A")
In [67]: df.set_index("A").reindex(new_index)
Out[67]: 
      B   C
0.0   1   3
0.5   4   2
1.0   6   1
1.5 NaN NaN
2.0 NaN NaN
2.5 NaN NaN
3.0 NaN NaN
3.5   2   0
4.0   4   5
4.5   3   3

Наконец, верните индекс обратно в столбцы с помощью reset_index. Поскольку мы назвали индекс, все это работает магически:

In [69]: df.set_index("A").reindex(new_index).reset_index()
Out[69]: 
       A   B   C
0    0.0   1   3
1    0.5   4   2
2    1.0   6   1
3    1.5 NaN NaN
4    2.0 NaN NaN
5    2.5 NaN NaN
6    3.0 NaN NaN
7    3.5   2   0
8    4.0   4   5
9    4.5   3   3
0
задан Wizzard 16 January 2019 в 14:35
поделиться