Python: Как разместить столбцы с одинаковыми именами из разных информационных фреймов рядом друг с другом? - PullRequest
1 голос
/ 08 марта 2019

Я хотел бы знать, есть ли способ в Python размещать столбцы из разных информационных фреймов с одинаковыми именами (или связанными именами) рядом друг с другом.

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

Пример:

Предположим, 2 кадра данных df1 и df2

df1 является

id A  B
50 1  5
60 2  6
70 3  7
80 4  8

df2 является

id  A_1  B_1
50   a    b
60   c    d
70   e    f
80   g    h

Ожидаемый результат: новый фрейм данных, скажем df3, похожий на этот

   id A  A_1  B  B_1
   50 1   a   5   b
   60 2   c   6   d
   70 3   e   7   f
   80 4   g   8   h

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

вы можете использовать sorted() с именами столбцов, такими как:

m=pd.concat([df1.set_index('id'),df2.set_index('id')],axis=1)
m[(sorted(m.columns))].reset_index()

   id  A A_1  B B_1
0  50  1   a  5   b
1  60  2   c  6   d
2  70  3   e  7   f
3  80  4   g  8   h
1 голос
/ 08 марта 2019

Сначала вы join 2 кадра данных -

df3 = df1.join(df2, how='inner')

И тогда вы можете отсортировать индекс -

df3 = df3.sort_index(axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...