Мне нужно создать два новых столбца с логическими значениями или значениями Да / Нет, чтобы проверить, содержит ли ссылка определенное слово или нет. Из моего CSV-файла образец набора данных может выглядеть следующим образом:
Col1
0 Dom.ie
1 Bho.int
2 Manchester.co.uk
... ...
[1800 rows x 12 columns]
Я хотел бы создать эти два новых столбца, Check_1
и Check_2
, если значения в Col1 содержат или нет определенное слово; Например:
list_1= ['dom', 'ans', 'warm']
list_2= ['dom', 'dog', 'manchester']
Col1 Check_1 Check_2
0 dom.ie Yes Yes
1 bho.int No No
2 manchester.co.uk No Yes
... ... ...
[1800 rows x 14 columns]
Я пытался с:
import pandas as pd
import numpy as np
def part_is_in(x, values):
output = 'No'
for val in values:
if val in x:
return 'Yes'
break
return output
df['Check_1'] = df['Col1'].apply(part_is_in, values = list_1)
df['Check_2'] = df['Col1'].apply(part_is_in, values = list_2)
Однако я получил следующую ошибку:
TypeError: аргумент типа 'float 'не повторяется
, относящихся к: df['Check_1'] = df['Col1'].apply(part_is_in, values = list_1)
и if val in x
. Не могли бы вы сказать мне, что это значит и как я могу это исправить? Спасибо