#python #pandas #dataframe #pandas-loc
Вопрос:
Я пытаюсь найти данные в моем фрейме данных, которые не включают эту строку [] В моем наборе данных, у меня в столбце есть теги этих значений:
Я использую следующий код, но он работает не так, как я ожидаю
conversion_rate = deals.loc[(deals["businessCaseType_value"] =='Sale LiteScope') amp; (deals["tags"] != "[]]")
Я использую аналогичный код в другом месте проекта, и он работает просто отлично
hit_rate = len(deals.loc[(deals["businessCaseType_value"]=='Sale LiteScope') amp; (deals["status"]=='E_WIN')].index)
Связано ли это со специальными символами []?
Комментарии:
1. Вместо
(deals["tags"] != "[]]")
того, что ты имел в виду(deals["tags"] != "[]")
? Кроме того, вы уверены, что «теги» — это столбец строк, а не списки?2. Вы правы, теги столбцов-это список 🙂
Ответ №1:
Я добавил
deals.tags =deals.tags.apply(lambda y: np.nan if len(y)==0 else y)
чтобы преобразовать все пустые строки в NaN, а затем обновить мой код
conversion_rate = deals.loc[(deals["businessCaseType_value"] =='Sale LiteScope') amp; deals["tags"].notnull()]
Большое спасибо