2016-08-10 12 views
2

У меня есть Dataframe, который состоит из 2-х колонок:Изменение значения столбца Dataframe На основе фильтра

  1. «Время на сайте»
  2. «долларов, затраченных на сайте»

Я хочу выполнить некоторый классификационный анализ этого набора данных, и мне остается только, сделал ли пользователь покупку или нет. Поэтому я хочу пропустить столбец «Доллары, потраченные на веб-сайт» и преобразовать значение в «1», если пользователь потратил более 0,00 доллара и имел значение «0», если пользователь ничего не потратил.

Каков правильный способ сделать это с помощью блока данных pandas?

ответ

3
df['purchase'] = 0 
df.loc[df['dollars_spent'] > 0, 'purchase'] = 1 

или

df['purchase'] = df['dollars_spent'].apply(lambda x: 1 if x > 0 else 0) 
+0

Хотя этот код может ответить на вопрос, обеспечивая дополнительный контекст относительно того, почему и/или, как этот код отвечает на вопрос улучшает долгосрочную ценность. Кодовые ответы не приветствуются. – Ajean

+0

Спасибо @ SO44! Второй имеет смысл для меня. Не уверен, что происходит в первом. – anc1revv

+0

@ anc1revv приятно слышать, можете ли вы принять ответ, чтобы закрыть вопрос? – SO44

Смежные вопросы