Предположим, у меня есть dataframe,Присвоить значение столбца панды dataframe на основе строки состояния
data
id URL
1 www.pandora.com
2 m.jcpenney.com
3 www.youtube.com
4 www.facebook.com
Я хочу, чтобы создать новый столбец, основанный на условии, что если URL содержит некоторое конкретное слово. Предположим, что если он содержит «youtube», я хочу, чтобы значение моего столбца было равно youtube. Так что я попытался следующие,
data['test'] = 'other'
так, как только мы делаем, что мы имеем,
data['test']
other
other
other
other
тогда я попробовал это,
data[data['URL'].str.contains("youtub") == True]['test'] = 'Youtube'
data[data['URL'].str.contains("face") == True]['test'] = 'Facebook'
Хотя это работает без каких-либо ошибок, значение тестовая колонка не изменяется. У него все еще есть другие только для всех столбцов. Когда я запускаю это утверждение, в идеале 3-я строка показывает изменение на «Youtube» и 4-е на «Facebook». Но это не меняется. Может ли кто-нибудь сказать мне, какую ошибку я здесь делаю?
Этот продукт работает. Просто небольшая коррекция, когда мы запустим это, мы получим ошибку «ValueError: не может индексировать вектор, содержащий значения NA/NaN». Так что просто нужно добавить, == Истина, как в приведенном выше условии. – haimen