Панды объединяют внутренние, пропускают другие столбцы в правом кадре - PullRequest
2 голосов
/ 13 мая 2019

У меня есть два типа данных, как,

df1

name value
A    1
B    2
A    3
D    4

df2

name class
A    1
B    3
E    4  

пробовал pd.merge(df1,df2,on='name',how='inner')

Вывод, который я получаю

name value class
A       1   1
A       3   1
B       2   3

мой ожидаемый результат -

name  value
A       1   
A       3   
B       2

1 Ответ

0 голосов
/ 13 мая 2019

Вы можете отфильтровать столбец для одного столбца DataFrame:

df = pd.merge(df1,df2[['name']],on='name',how='inner')

Что работает так же, как:

df = pd.merge(df1,df2[['name']])

Другое решение - использовать Series.isinс boolean indexing для фильтрации:

df = df1[df1['name'].isin(df2['name'])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...