У меня есть такой фрейм данных:
Title Participants
0 ShowA B. Smith,C. Ball
1 ShowB T. Smooth
2 ShowC K. Dulls,L. Allen,B. Smith
Я делю на ,
в столбце Участники и создаю список для каждой ячейки. Затем я проверяю, указаны ли c участников в каждом списке. В этом примере я проверяю B. Smith
или K. Dulls
for item in df['Participants']:
listX = item.split(',')
if 'B. Smith' in listX or 'K. Dulls' in listX:
print(listX)
Это возвращает:
['B. Smith', 'C. Ball']
['K. Dulls', 'L. Allen', 'B. Smith']
1) Я предполагаю, что есть более чистый способ проверьте для нескольких участников, в моем if
заявлении. Я буду рад любым предложениям.
2) Здесь я крутился по кругу, как мне вернуть Title
, связанный с списком (ями), которые я возвращаю?
В этом примере я хотел бы вернуть:
ShowA
ShowC
Код установки:
import pandas as pd
df = pd.DataFrame(data={'Title': ['ShowA', 'ShowB', 'ShowC'],
'Participants': ['B. Smith,C. Ball', 'T. Smooth', 'K. Dulls,L. Allen,B. Smith']})
target_participants = ['B. Smith', 'K. Dulls']