Рассмотрим следующий список кортежей:
some_strings = [('Name1', 'ABCD', 'DEFG', 'Score=12'),
('Name2', 'JKLL', 'RMPQ', 'Score=11')]
И следующий кадр данных панд:
Sequence ID Left Sequence Right Sequence
Name1 ABCD RQLM
Name1 ABCR PLMT
Name2 JKLL ZFGQ
Name2 RPLP FTRD
Я пытаюсь сравнить второй объект в кортеже со столбцом df ['Left Sequence'], чтобы проверить точное совпадение (не касается частичных совпадений), и, если совпадение произойдет, выведите димер в новом столбце в конце df.Если совпадения не произойдет, я напечатаю NA.Вот код, который я пробовал:
for x in some_strings:
for y in x:
df['Dimers'] = df['Left Sequence'].apply(lambda s: 'Dimer' if s == y[1] else 'NA')
Мой ожидаемый вывод:
Sequence ID Left Sequence Right Sequence Dimers
Name1 ABCD RQLM Dimer
Name1 ABCR PLMT NA
Name2 JKLL ZFGQ Dimer
Name2 RPLP FTRD NA
Мой фактический вывод (вы, вероятно, можете догадаться об этом):
Sequence ID Left Sequence Right Sequence Dimers
Name1 ABCD RQLM NA
Name1 ABCR PLMT NA
Name2 JKLL ZFGQ NA
Name2 RPLP FTRD NA
Любые предложения будут великолепны.