У меня есть два типа данных, как,
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')
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
Вы можете отфильтровать столбец для одного столбца DataFrame:
DataFrame
df = pd.merge(df1,df2[['name']],on='name',how='inner')
Что работает так же, как:
df = pd.merge(df1,df2[['name']])
Другое решение - использовать Series.isinс boolean indexing для фильтрации:
Series.isin
boolean indexing
df = df1[df1['name'].isin(df2['name'])]