我想将数据框中行子集的列“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'])
