我有一个 Pandas 数据框 df
Name Age Salary
0 Tom 28 100
1 Jack 34 200
2 Tom 28 100
3 Jack 34 200
4 Harry 36 300
5 Harry 36 300
我有一个名称为 name_array=['Tom', 'Jack', 'Harry'] 的 Numpy 数组。我还有一个 Numpy 数组名称 increment_array=[10,20,30]
我想要的是
Name Age Salary
0 Tom 28 1000
1 Jack 34 4000
2 Tom 28 1000
3 Jack 34 4000
4 Harry 36 9000
5 Harry 36 9000
请您参考如下方法:
你可以使用 map :
name_array = ['Tom', 'Jack', 'Harry']
increment_array = [10, 20, 30]
lookup = dict(zip(name_array, increment_array))
df['Salary'] = df.Name.map(lookup) * df.Salary
print(df)
输出
Name Age Salary
0 Tom 28 1000
1 Jack 34 4000
2 Tom 28 1000
3 Jack 34 4000
4 Harry 36 9000
5 Harry 36 9000
