Skip to main content
 首页 » 编程设计

python之在 Pandas 中分配列值时的冗余计算

2025年05月04日19bjzhanghao

我想将数据框中行子集的列“var3”的值分配给“var2”。看下面的Python代码

df.loc[df['var1'] == 'x', 'var2'] = df[df['var1'] == 'x']['var3'] 

在这条语句中对 var1 的选择发生了两次。有没有办法避免这种冗余计算?

请您参考如下方法:

IIUC,你应该使用np.where():

df['var2'] = np.where(df['var1']=='x', df['var3'], df['var2'])