Объединение наборов данных разных размеров

#python #pandas #numpy

#питон #панды #тупица

Вопрос:

Моя проблема следующая:

У меня есть фрейм данных A, который выглядит так:

 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1  

и фрейм данных B, который выглядит следующим образом:

 2 2 2 2 2 2 2 2 2  

и я пытаюсь добавить B к A, поэтому результат должен выглядеть так:

 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1  

В данный момент я расширяю фрейм данных B нулями, чтобы он был равен по размеру фрейму данных A ….. и просто суммирую эти два фрейма данных.

Есть ли более элегантный способ сделать это? Также как я могу добавить фрейм данных B в разные части фрейма данных A…. и, например, будет такой результат:

 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1   

Дайте мне знать, если мой вопрос не ясен 🙂

Спасибо.

Комментарии:

1. обновите с dfA.iloc[start_row:end_row, start_col:end_col] = dfB.to_numpy() помощью ?

2. Отлично, это работает 🙂 Спасибо.

Ответ №1:

для первого :

 A.iloc[2:4, 2:4] = A.iloc[2:4, 2:4]   B.to_numpy()  

и для второго :

 A.iloc[0:2, 0:2] = A.iloc[2:4, 2:4]   B.to_numpy()