Проблема
Данные в Pandas DataFrame, как показано ниже:
Name Amount
---------------
Alice 100
Bob 50
Charlie 200
Alice 30
Charlie 10
Я хочу выбрать все строки, где Name
является одним из нескольких значений в коллекции {Alice, Bob}
Name Amount
---------------
Alice 100
Bob 50
Alice 30
Вопрос
Каков эффективный способ сделать это в Pandas?
Параметры, которые я вижу в них
- Перебирать строки, обрабатывая логику с помощью Python
-
Выберите и слейте много операторов, например,
merge(df[df.name = specific_name] for specific_name in names) # something like this
-
Выполните какое-то соединение
Каковы компромиссы производительности здесь? Когда одно решение лучше других? Какие решения мне не хватает?
В то время как в приведенном выше примере используются строки, мое фактическое задание использует совпадения на 10-100 целых чисел по миллионам строк и поэтому очень важны операции NumPy.