Я немного боролся с этой проблемой, и хотя я мог бы предположить, что есть некоторые обходные пути, я хотел бы знать, есть ли элегантный способ достижения этого результата:
import pandas as pd
import numpy as np
data = np.array([
[1,10],
[2,12],
[4,13],
[5,14],
[8,15]])
df1 = pd.DataFrame(data=data, index=range(0,5), columns=['x','a'])
data = np.array([
[2,100,101],
[3,120,122],
[4,130,132],
[7,140,142],
[9,150,151],
[12,160,152]])
df2 = pd.DataFrame(data=data, index=range(0,6), columns=['x','b','c'])
ТеперьЯ хотел бы иметь фрейм данных, который объединяет эти 2 и заполняет отсутствующие значения предыдущим значением или первым значением в противном случае.Оба фрейма данных могут иметь разные размеры сети. Здесь нас интересует уникальный столбец x.
Это будет мой желаемый выходной фрейм df_result.x - это агрегированное уникальное число «x» между двумя кадрами
x a b c
0 1 10 100 101
1 2 12 100 101
2 3 12 120 122
3 4 13 130 132
4 5 14 130 132
5 7 14 140 142
6 8 15 140 142
7 9 15 150 151
8 12 15 160 152
Любая помощь или подсказка будет принята с благодарностью, большое спасибо