Я хочу посчитать количество существующих слов в моем списке строк в столбце данных для каждой строки.
код:
list_1 = ['Apple', 'Mango' ,'Orange', 'pr[éeêè]t[s]?' ]
list_2 = ['weather', 'r[ea]d' ,'p[wr]iority', 'pr[éeêè]t[s]?' ]
list_3 = ['n[eéè]d','snow[s]?', 'pr[éeêè]t[s]?' ]
dict = {"s1":['Column_1', list_1],
"s2": ['Column_1', list_3],
"s3": ['Column_2', list_2],
"s4": ['Column_3', list_3],
"s5": ['Column_2','Column_3',list_1],}
for elt in list(dict.keys()):
if len(dict[elt])<=2:
d = Counter(re.findall(r'|'.join(dict[elt][1]).lower(), df[dict[elt][0]].str.lower()))
df[elt] = sum(d.values())
elif len(dict[elt])>2:
aa = Counter(re.findall(r'|'.join(dict[elt][2]).lower(), df[dict[elt][0]].str.lower()))
bb = Counter(re.findall(r'|'.join(dict[elt][2]).lower(), df[dict[elt][1]].str.lower()))
b = sum(bb.values())
a = sum(aa.values())
d = a +b
df[elt] = d
Пример данных:
d = {'Column_1': ['mango pret Orange No manner', ' préts No scan'], 'Column_2': ['read priority No', 'This is a priority'],'Column_3': ['No add', 'yep']}
df = pd.DataFrame(data=d)
d2 = {'s1': [3, 1], 's3':[2,1]}
df2 = pd.DataFrame(data=d2)
но я получил эту ошибку ... Ошибка типа: ожидаемая строка или байтовоподобный объект