У меня есть pandas df со столбцом A, который представляет собой строку строк.Каждый элемент в серии (т. Е. Каждая строка в базе данных) представляет собой одну длинную строку, разделенную запятыми.Я хотел бы создать новый столбец с именем B, который постепенно учитывает каждый раз, когда объект из отдельного списка появляется в каждой строке столбца A. Например:
мой список выглядит следующим образом:
list = ('dog', 'bird', 'cat')
мой фрейм данных выглядит следующим образом:
A B
dog, bird 2
cat, bird 2
dog, snake 1
cat, bird, snake 2
dog, bird, cat, snake 3
dog, bird cat 3
я пытаюсь создать вложенный цикл, который выполняет следующее: начинаются с df.a [0] (то есть с первым значением df.A),узнайте, содержит ли оно первое значение в списке (то есть «собака»).Если df.A [0] содержит, то добавьте 1 к B. Затем, оставаясь в той же строке df.A, переходите ко второму значению списка (то есть «птица»).Если это значение df.A [0] также содержит это значение, добавьте еще 1 к B. и т. Д. И т. Д.
Это код, который я пытаюсь использовать.
for i in df['A']:
for j in list:
if i.str.contains(j):
df['B'] += 1
Тем не менее, я продолжаю получать сообщение об ошибке:
'str' object has no attribute 'str'
Как я могу сказать пандам посмотреть всю серию, а также сказать, чтобы она функционировала как цикл со структуройопределены выше?Или как лучше решить эту проблему?