首页 > 解决方案 > 替换数据框中的值

问题描述

我有一个包含 3 列(A、B、C)的数据框。当列= 22时,我想C用列更新列。我已经写了这样的更新语句,但是它正在更新不匹配的行。你能告诉我如何更新数据框中的数据吗?ABNaN

df = pd.DataFrame(data=[[10,20,30],[11,21,31],[12,22,32]], columns=['A','B','C'])
df.C = df[df.B==22].A

标签: pythonpandas

解决方案


几种方法之一,是的,它需要一个额外的包,但如果你不知道np.where它非常方便。

import numpy as np

df['C'] = np.where(df['B']==22, df['A'], df['C'])

推荐阅读