Как эффективно использовать пересечения множеств в pandas?

Пользователь

от wilburn , в категории: Python , 2 месяца назад

Как эффективно использовать пересечения множеств в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cayla , 22 дня назад

@wilburn 

В pandas пересечение множеств можно выполнять с помощью метода intersection() или оператора &.


Вот несколько способов эффективного использования пересечений множеств в pandas:

  1. Пересечение двух столбцов
1
df['intersection'] = df['col1'].intersection(df['col2'])


или

1
df['intersection'] = df['col1'] & df['col2']


  1. Пересечение нескольких столбцов
1
df['intersection'] = df[['col1', 'col2', 'col3']].apply(lambda x: set(x.dropna()), axis=1).intersection()


или

1
df['intersection'] = df[['col1', 'col2', 'col3']].apply(lambda x: set(x.dropna()), axis=1).apply(lambda x: reduce(set.intersection, x))


  1. Пересечение столбца со списком/множеством
1
df['intersection'] = df['col'].apply(lambda x: set(x).intersection(my_set))


или

1
df['intersection'] = df['col'].apply(set).apply(lambda x: x.intersection(my_set))


  1. Пересечение двух DataFrame
1
intersection_df = df1.merge(df2, how='inner', on=['col1', 'col2'])


Это некоторые примеры эффективного использования пересечений множеств в pandas. Однако, эффективность может зависеть от размера данных и конкретных операций, поэтому всегда рекомендуется тестировать и сравнивать производительность разных подходов для вашей конкретной задачи.