根据条件从现有熊猫中创建新列的最有效方法

时间:2019-02-18 01:46:13

标签: pandas loops

如何根据条件从现有列中创建新列?我知道我可以使用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

最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

如果要为行的子集设置值,一个更通用的答案是使用带有条件的.loc,例如:

df.loc[df['Customer_Left'] == 1, 'Value'] = value

就您而言,您可以简单地做到:

df['Value'] = df['Customer_Left'] * 100