Я пытаюсь создать новые столбцы объектов на основе значений в другом столбце. Итак, у меня есть столбец с комментариями, и если они содержат URL-адрес, я хочу вывести 1 в новый столбец или же вывести 0, так что это будет создание двоичного объекта.
Text Contains_Url
Buy round lot on the open MT @WSJD #AAPL 1
stock briefly dove 6.4% today. Analysts
not sure why https://blogs.wsj.com/moneybeat/
2014/12/01/apple-crash-catches-wall-street-off-guard/
@apple Contact sync between Yosemite and iOS8 is 0
seriously screwed up. It used to be much more stable
in the past. #icloud #isync
Таким образом, будут строки, подобные этой, и я хотел бы создать новый столбец в кадре данных с 1 или 0 на основе текстового столбца, если он имеет URL-адрес или нет. Просто чтобы проверить количество твитов с URL-адресами по сравнению с остальным набором данных, я сделал
data.shape
(3804, 12)
data[data.text.str.contains("http")].shape
(2130, 12)
Таким образом, он точно показывает количество строк с URL-адресом. Моя идея состояла в том, чтобы создать функцию, в которой я могу это сделать, и применить ее с помощью lambda
def contains_url(row):
if data[data.text.str.contains("http")]:
return 1
else:
return 0
data['contains_url'] = data.apply (lambda row: contains_url(row),axis=1)
ValueError: ('The truth value of a DataFrame is ambiguous. Use a.empty,
a.bool(), a.item(), a.any() or a.all().', 'occurred at index 0')
Но это дает мне эту ошибку выше. Любая помощь будет оценена. Спасибо!