根据另一列中的值在Pandas中创建新列

时间:2019-10-30 19:12:10

标签: python pandas

任务如下:

  

在df中添加一个名为Income10的新列。它应该包含相同的   值作为收入,所有0值都替换为1。

我尝试了以下代码:

df['income10'] = np.where(df['income']==0, df['income10'],1)

但我不断收到错误消息:

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以对列中的每个值应用函数:

df["a"] = df.a.apply(lambda x: 1 if x == 0 else x)

答案 1 :(得分:0)

您正在尝试引用尚不存在的列。

df['income10'] = np.where(df['income']==0, ===>**df['income10']**,1)

在您的np.where中,您需要引用值起源的列。试试这个

df['income10'] = np.where(df['income']==0, 1, df['income'])

编辑:更正的参数顺序