基于过滤器更改数据框列的值

anc*_*evv 6 python dataframe pandas

我有一个由2列组成的Dataframe:

  1. "在网站上花费的时间"
  2. "花在网站上的美元"

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

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

小智 16

df['purchase'] = 0
df.loc[df['dollars_spent'] > 0, 'purchase'] = 1
Run Code Online (Sandbox Code Playgroud)

要么

df['purchase'] = df['dollars_spent'].apply(lambda x: 1 if x > 0 else 0)
Run Code Online (Sandbox Code Playgroud)

  • 尽管此代码可以回答问题,但提供有关此代码为何和/或如何回答问题的其他上下文,可以提高其长期价值。不鼓励仅使用代码的答案。 (2认同)