Python как объединить два кадра данных с несколькими столбцами, сохранив порядок строк в каждом столбце? - PullRequest
0 голосов
/ 03 марта 2020

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

Первый кадр данных "A1" выглядит так:

index  a   b   c   
0      1   4   1
3      2   7   3
5      5   8   4
6      6   10  8
...

, а второй кадр данных "A2" выглядит так (A1 и A2 одинаковы size):

index  a   b   c
1      3   1   2
2      4   2   5
4      7   3   6
7      8   5   7
...

Я хочу объединить оба этих фрейма данных, чтобы получить окончательные «данные» фрейма данных:

index  a   b   c
0      1   4   1
1      3   1   2
2      4   2   5
3      2   7   3  
...

Вот что я пробовал:

data = A1.merge(A2, how='outer', left_index=True, right_index=True)

Но я продолжаю получать странные результаты. Я даже не знаю, работает ли это, если у вас есть несколько столбцов, порядок строк которых нужно сохранить. Я считаю, что некоторые записи по какой-то причине становятся NaN. Я не знаю, как это исправить. Я также попробовал data.join (A1, A2), но компилятор распечатал, что он не может соединить эти два кадра данных.

1 Ответ

1 голос
/ 03 марта 2020
import pandas as pd

#Create Data Frame df and df1
df = pd.DataFrame({'a':[1,2,3,4],'b':[5,6,7,8],'c':[9,0,11,12]},index=[0,3,5,6])
df1 = pd.DataFrame({'a':[13,14,15,16],'b':[17,18,19,20],'c':[21,22,23,24]},index=[1,2,4,7])

#Append df and df1 and sort by index.
df2 = df.append(df1)
print(df2.sort_index())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...