#python #python-3.x #pandas #dataframe
#python #python-3.x #pandas #фрейм данных
Вопрос:
У меня есть 2 фрейма данных. Я хочу удалить элементы из второго фрейма данных, которых нет в первом фрейме данных.
df1
a
tom
mat
stuart
df2
b
tom
mat
max
Ожидаемый df после удаления не совпадающего значения b из a :
df1
a
tom
mat
stuart
df2
b
tom
mat
Комментарии:
1. Если я правильно понимаю, вы хотите удалить конфликтующие значения?
2. да, но только в df2
Ответ №1:
Для меня это не похоже на фреймы данных.. Учитывая ваш ввод, вот один из способов (из многих) достижения этого
>>> s1
0 tom
1 matt
2 stuart
dtype: object
>>> s2
0 tom
1 matt
2 max
dtype: object
>>> s1[s1 == s2]
0 tom
1 matt
dtype: object
Ответ №2:
Я предлагаю внутреннее соединение, например:
import pandas as pd
df1 = pd.DataFrame({'a':['tom','mat','stuart']})
df2 = pd.DataFrame({'b':['tom','mat','max']})
df2 = pd.merge(df1,df2, left_on='a', right_on='b', how = 'inner')