У меня есть следующий фрейм данных:
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.arange(8) * 2})
print(df1)
A B C D
0 foo one 0 0
1 bar one 1 2
2 foo two 2 4
3 bar three 3 6
4 foo two 4 8
5 bar two 5 10
6 foo one 6 12
7 foo three 7 14
Я надеюсь выбрать строки в df1 с помощью df2 следующим образом:
df2 = pd.DataFrame({'A': 'foo bar'.split(),
'B': 'one two'.split()
})
print(df2)
A B
0 foo one
1 bar two
Вот что я пробовал в Python, ноМне просто интересно, есть ли другой метод.Благодарю.
df = df1.merge(df2, on=['A','B'])
print(df)
Вот ожидаемые результаты.
A B C D
0 foo one 0 0
1 bar two 5 10
2 foo one 6 12
Использование панд для выбора строк с использованием двух разных столбцов из кадра данных?
Выберите столбцы DataFrame на основе другого DataFrame