Панды - объединение двух датафреймов с условием - PullRequest
0 голосов
/ 31 октября 2018

Я новичок в аналитике данных и использую python pandas lib для объединения двух фреймов данных.

Цель состоит в том, чтобы создать новый фрейм данных со всеми данными из второй таблицы и соединить первую таблицу со второй таблицей в «типе», чтобы заменить числа буквами из первой таблицы. Я уже пробовал несколько слияний и объединений, но не смог найти решение. Помощь будет оценена.

#Tables were created with pd.read_csv(path, sep = '\t', encoding = 'ISO-8859-1')
#First Table

ID  type
1   A
2   B
3   C
4   D
5   E
...

#Second Table

ID  type  column2  column3 ... 
1   2     x
2   2     y
3   3     x
4   1     y
5   4     z
...

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

попробуйте это,

print pd.merge(df1,df2,on=['ID']).drop('type_y',axis=1).rename(columns={'type_x':'type'})

Выход:

   ID type column2
0   1    A       x
1   2    B       y
2   3    C       x
3   4    D       y
4   5    E       z

Используйте pd.merge, если у вас есть много столбцов в df1 и вы хотите, чтобы это было добавлено в результате, в противном случае используйте решение W-B.

0 голосов
/ 31 октября 2018

Если я правильно понимаю

df2.type.map(df1.set_index('ID').type)
Out[152]: 
0    B
1    B
2    C
3    A
4    D
Name: type, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...