假设您使用的是 pandas 和字符串答案:
>>> import pandas as pd
>>> lst = ['Dog, Cat, Bird', 'Dog, Bird', 'Dog, Fish', 'Cat']
>>> df = pd.DataFrame({'answer':lst})
>>> df
answer
0 Dog, Cat, Bird
1 Dog, Bird
2 Dog, Fish
3 Cat
您现在可以将每个字符串拆分为一个字符串列表,并检查每个答案是否在该列表中:
>>> df.answer = df.answer.str.split(', ') # split strings to list
>>> for word in ['Dog', 'Cat', 'Bird', 'Fish']:
... df[word] = df.answer.apply(lambda x : 1 if word in x else 0)
>>> df
answer Dog Cat Bird Fish
0 [Dog, Cat, Bird] 1 1 1 0
1 [Dog, Bird] 1 0 1 0
2 [Dog, Fish] 1 0 0 1
3 [Cat] 0 1 0 0
如果您在创建所有答案的唯一列表时遇到问题(例如,不同的答案太多),请使用集合:
>>> answer_set = set()
>>> for i in df.answer:
... answer_set.update(set(i))
>>> answer_list = list(answer_set)
>>> answer_list
['Fish', 'Cat', 'Bird', 'Dog']