Объединить таблицы Excel с некоторыми равными именами столбцов с python и pandas - PullRequest
1 голос

есть две таблицы Excel:

table1:

id  name    color   size
1   shoes   black   42
2   shoes   black   44
3   jacket  brown   44
4   jacket  brown   46

table2:

name    size    country            host     id
shoes   42      usa      cotton    man  
shoes   44      rus                woman    2
jacket  44      eu                 man  
shoes   46      usa      polieste  woman    
shoes   42      rus                man  
hat     m       eu                 woman

необходимо создать table3, вставив данные с некоторыми равными столбцами, например ( name и size ) или просто ( id ) и не включать столбцы с неименованными столбцами

как этот (для равных name и размер ):

name    size    country host    id  color
shoes   42      usa     man     1   black
shoes   44      rus     woman   2   black
jacket  44      eu      man     3   brown
shoes   46      usa     woman       
shoes   48      rus     man     
hat     m       eu      woman   

возможно ли в pandas с DataFrame?

1 Ответ

0 голосов
/ 26 апреля 2020

Сначала вам нужно преобразовать size столбец из table1 в str, поскольку size in table2 также является строковым столбцом:

In [40]: table1['size'] = table1['size'].astype(str)

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

In [44]: table3 = pd.merge(table2, table1, on=['name', 'size'], how='left').drop(['Unnamed: 3', 'id_x'], 1).rename(columns={'id_y': 'id'})                                                                  

In [45]: table3                                                                                                                                                                                             
Out[45]: 
     name size country   host   id  color
0   shoes   42     usa    man  1.0  black
1   shoes   44     rus  woman  2.0  black
2  jacket   44      eu    man  3.0  brown
3   shoes   46     usa  woman  NaN    NaN
4   shoes   42     rus    man  1.0  black
5     hat    m      eu  woman  NaN    NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...