Как получить поэлементное пересечение из двух серий в питон-пандах - PullRequest
0 голосов
/ 12 ноября 2018

У меня вопрос к питонам пандам. У меня есть две серии, и каждая серия имеет следующие элементы строки: Для упрощения я объединил две серии в DataFrame.

import pandas as pd
import numpy as np
my_df = pd.DataFrame([['ab', 'bz', 'b'], ['cd', 'ct', 'c'], ['ef', 'ka', np.nan]], columns=['sr_1', 'sr_2', 'intersection'])

enter image description here

Есть идеи для этого?

1 Ответ

0 голосов
/ 12 ноября 2018

Вот что вы можете сделать:

import pandas as pd
import numpy as np

df1 = pd.DataFrame({'sr1' : ['ab','cd','ef'] ,
                    'sr2' : ['bz','ct','ka',]})

df1['intersection'] = df1.apply(lambda x: set(x.sr1) & set(x.sr2), axis=1)

df1['intersection'] = df1.intersection.apply(lambda x: list(x)[0] if len(x)>0 else np.nan)

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...