Pandas-将一列映射到另一列并对行应用乘法
我有这个数据框:Pandas-将一列映射到另一列并对行应用乘法,pandas,Pandas,我有这个数据框: df = pd.DataFrame({target:[0.0, 1.0, 2.0], points:[5.0, 2.5, 3.6}) 我需要得到最低的“目标”值(除0外),并将相应行上的“点”乘以2 结果是: target points 0.0 5.0 1.0 5.0 2.0 3.6 这是怎么回事?可能使用idxmin和loc: idx = df[df['target']!=0]['target'].idx
df = pd.DataFrame({target:[0.0, 1.0, 2.0],
points:[5.0, 2.5, 3.6})
我需要得到最低的“目标”值(除0外),并将相应行上的“点”乘以2
结果是:
target points
0.0 5.0
1.0 5.0
2.0 3.6
这是怎么回事?可能使用
idxmin
和loc
:
idx = df[df['target']!=0]['target'].idxmin()
df['points'].loc[idx] = df['points'].loc[idx] * 2
很有魅力,非常感谢