据说向量化方法最快。
在下面的示例中,值 1 被设置到 newcol 的所有单元格中,其中 col 值大于 50。
df.loc[df.loc['col'>50],'newcol']=1
下面的代码有一个非恒定的右手边。其中 type 是 c1,它是对 w1 和 w2 列的值求和。这是如何在内部工作的——例如,这是一行一行的,它如何确保在结果列中对同一行进行求和和设置?
df.loc[df.type=='c1',['Result']]=df.loc[df.type=='c1',['w1']]+df.loc[df.type==' c1',['w2']]
当 RHS 使用过滤器时,pandas 向量化概念如何确保处理 samr 行?
因为有相同的条件,这里:
df.type=='c1'
因此,如果True
s in mask for w1
and只过滤行w2
,求和并分配给仅与右侧的掩码匹配的行:
df.loc[df.type=='c1','Result']=df.loc[df.type=='c1','w1']+df.loc[df.type=='c1','w2']
#fr avoid 3 times same condition is used variable m
m = df.type=='c1'
df.loc[m,'Result']=df.loc[m,'w1']+df.loc[m,'w2']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句