Я пытаюсь превратить несколько фреймов данных в один на основе значений в первом столбце, но не каждый фрейм данных имеет одинаковые значения в первом столбце. Возьмите этот пример:

df1:
A    4
B    6
C    8

df2:
A    7
B    4
F    3

full_df:
A    4    7
B    6    4
C    8
F         3

Как мне сделать это с помощью Python и панд?

1
db702 25 Сен 2018 в 20:24

2 ответа

Лучший ответ

Вы можете использовать панды слияния с внешним соединением

df1.merge(df2,on =['first_column'],how='outer')
1
Naga Kiran 25 Сен 2018 в 17:26

Вы можете использовать pd.concat, запоминая для выравнивания индексов:

res = pd.concat([df1.set_index(0), df2.set_index(0)], axis=1)

print(res)

     1    1
A  4.0  7.0
B  6.0  4.0
C  8.0  NaN
F  NaN  3.0
0
jpp 25 Сен 2018 в 17:36