Моя цель - сравнить строку DataFrame с каждым элементом в списке 2D-массивов.
Вот мой список = мой список
1 2000
2 2000a
3 2000b
Вот мой Dataframe = df
RPN Source city
1 netflix baltimore
1 netflix baltimore
2 hulu orlando
4 hulu houston
Как объяснено выше, я хотел бы создать новый столбец из списка, который сравнивает каждый RPN в моем DataFrame с первой позицией mylist. Если RPN находится в mylist, возьмите вторую позицию связанного с ним массива и добавьте его в список, который нужно присоединить к фрейму данных. Если не найдено, просто используйте RPN.
ЖЕЛАЕМЫЙ ВЫХОД
RPN Source city npi
1 netflix baltimore 2000
1 netflix baltimore 2000
2 hulu orlando 2000a
4 hulu houston 4
Здесь мой код ниже, он работает, однако я получаю только RPN для каждой записи, а не NPI, связанный с этим RPN в mylist
#Seperates Portico from Facets, FEP, Nasco, ETC
portico = df[df['SOURCE'] == 'PORTICO']
comparelist = []
#creates a list of RPN and NPI
mylist = portico[['RPN','NPI']].values.tolist()
for index,x in df.iterrows():
RPN = x['RPN']
for a in mylist:
if RPN in a:
comparelist.append(a)
else:
comparelist.append(RPN)
break
df = df.drop(columns = ['NPI'])
df['NPI'] = comparelist
ТЕКУЩИЙ ВЫХОД
RPN Source city npi
1 netflix baltimore 1
1 netflix baltimore 1
2 hulu orlando 2
4 hulu houston 4