Предположим, у меня есть такой фрейм данных для панд:
A B C
0 2 19 12
1 5 17 13
2 6 16 19
3 7 11 16
4 10 1 11
И я хочу, чтобы это расширилось в столбце A следующим образом:
A B C
0 2 19.0 12.0
1 3 NaN NaN
2 4 NaN NaN
3 5 17.0 13.0
4 6 16.0 19.0
5 7 11.0 16.0
6 8 NaN NaN
7 9 NaN NaN
8 10 1.0 11.0
Вот как я это делаю в настоящее время, создавая массив numpy, который содержит список плотных целых чисел, а затем merge
это с DataFrame, это создает кадр данных, показанный выше:
new_arr = np.arange(df.iloc[0,0], df.iloc[-1,0]+1)
new_col = pd.Series(new_arr).to_frame()
new_col.columns = ['A']
new_df = pd.merge(new_col, df, on='A', how='left')
Но я чувствую, что должен быть лучший способ непосредственного использования серии для расширения кадра данных без использования merge
или даже встроенной функции панды в исходном кадре данных? Спасибо за любое решение.
Вот первый df для более легкой репликации:
pd.DataFrame([[2, 19, 12], [5, 17, 13], [6, 16, 19], [7, 11, 16], [10, 1, 11]], columns=['A', 'B', 'C'])