Python 基于筛选器更改Dataframe列的值

Python 基于筛选器更改Dataframe列的值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个由两列组成的数据框: “花在网站上的时间” “在网站上花费的美元” 我想对这个数据集进行一些分类分析,我只关心用户是否进行了购买。因此,我想运行“网站花费的美元”列,如果用户花费超过0.00美元,则将值转换为“1”,如果用户没有花费,则将值转换为“0” 使用熊猫数据帧执行此操作的正确方法是什么 df['purchase'] = 0 df.loc[df['dollars_spent'] > 0, 'purchase'] = 1 或 虽然此代码可能会回答该问题,但提供有关此代码为什么

我有一个由两列组成的数据框:

  • “花在网站上的时间”
  • “在网站上花费的美元”
  • 我想对这个数据集进行一些分类分析,我只关心用户是否进行了购买。因此,我想运行“网站花费的美元”列,如果用户花费超过0.00美元,则将值转换为“1”,如果用户没有花费,则将值转换为“0”

    使用熊猫数据帧执行此操作的正确方法是什么

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


    虽然此代码可能会回答该问题,但提供有关此代码为什么和/或如何回答该问题的附加上下文可提高其长期价值。不鼓励只使用代码的答案。谢谢@SO44!第二个对我来说很有意义。不确定第一个问题发生了什么。@anc1revv很高兴听到,你能接受答案来结束这个问题吗?
    df['purchase'] = df['dollars_spent'].apply(lambda x: 1 if x > 0 else 0)