如何根据条件从现有列中创建新列?我知道我可以使用for循环来做到这一点,但是效率很低。
例如,假设我有一个'Customer_Left'列,其二项式值为0或1。我想创建一个新列('Value'),该列为该客户分配值100。
我的代码是这样的:
value = 100
for i in range(len(df['Customer_Left')):
if df['Customer_Left'][i] == 1:
df['Value'] = value
最有效的方法是什么?
答案 0 :(得分:2)
如果要为行的子集设置值,一个更通用的答案是使用带有条件的.loc,例如:
df.loc[df['Customer_Left'] == 1, 'Value'] = value
就您而言,您可以简单地做到:
df['Value'] = df['Customer_Left'] * 100