Вы можете использовать следующий базовый синтаксис, чтобы найти пересечение между двумя сериями в pandas:
set (series1) & set ( series2 )
Напомним, что пересечение двух множеств — это просто множество значений, которые находятся в обоих множествах.
В следующих примерах показано, как на практике вычислить пересечение между сериями pandas.
Пример 1: вычисление пересечения между двумя сериями Pandas
Следующий код показывает, как вычислить пересечение между двумя сериями pandas:
import pandas as pd
#create two Series
series1 = pd.Series([4, 5, 5, 7, 10, 11, 13])
series2 = pd.Series([4, 5, 6, 8, 10, 12, 15])
#find intersection between the two series
set (series1) & set (series2)
{4, 5, 10}
Результатом является набор, содержащий значения 4 , 5 и 10 .
Это единственные три значения, которые есть как в первой, так и во второй серии.
Также обратите внимание, что этот синтаксис работает с сериями панд, которые содержат строки:
import pandas as pd
#create two Series
series1 = pd.Series(['A', 'B', 'C', 'D', 'E'])
series2 = pd.Series(['A', 'B', 'B', 'B', 'F'])
#find intersection between the two series
set (series1) & set (series2)
{'A', 'B'}
Единственные строки, которые находятся как в первой, так и во второй серии, — это A и B .
Пример 2: вычисление пересечения между тремя сериями Pandas
Следующий код показывает, как вычислить пересечение между тремя сериями панд:
import pandas as pd
#create three Series
series1 = pd.Series([4, 5, 5, 7, 10, 11, 13])
series2 = pd.Series([4, 5, 6, 8, 10, 12, 15])
series3 = pd.Series([3, 5, 6, 8, 10, 18, 21])
#find intersection between the three series
set (series1) & set (series2) & set (series3)
{5, 10}
Результатом является набор, содержащий значения 5 и 10 .
Это единственные значения, которые есть во всех трех сериях.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции с сериями в pandas:
Как преобразовать серию Pandas в DataFrame
Как преобразовать серию Pandas в массив NumPy
Как объединить две или более серий в Pandas