如何在满足条件的列中替换值?

时间:2020-09-22 13:45:26

标签: python pandas

在熊猫数据框中,当用户为Lucas时,我需要将所有值1990.0替换为2002.0:

User        Val
Mirk        1992.0
Lucas       1990.0
John        1980.0
Lucas       1990.0
Mirk        1992.0

预期输出:

User        Val
Mirk        1992.0
Lucas       2002.0
John        1980.0
Lucas       2002.0
Mirk        1992.0

我该怎么办?

3 个答案:

答案 0 :(得分:2)

使用布尔索引:

df.loc[df.User.eq('Lucas') & df.Val.eq(1990), 'Val'] += 12

答案 1 :(得分:0)

您可以在Numpy中使用以下位置:

import numpy as np
df['Val'] = np.where((df['User'] == 'Lucas') & (df['Val'] == 1990), 2002, df['Val'])

答案 2 :(得分:0)

选中mask

df.Val.mask(df.User.eq('Lucas') & df.Val.eq(1990),2002,inplace=True)