gpt4 book ai didi

python - 如何根据不同的列更改一列中的值?

转载 作者:行者123 更新时间:2023-11-28 21:41:57 24 4
gpt4 key购买 nike

如何根据 colb 更改 cola 的值?例如,假设我想更改 ID = 1,4,7 的名称?

ID Name
1 Name1
2 Name2
3 Name3
4 Name4
5 Name5
6 Name6
7 Name7
8 Name8

我最好使用字典,如下所示:

change = {
1: 'foo',
4: 'bar',
7: 'baz'
}

如果我用这样的 map 应用更改字典:

df['Name'] = df['ID'].map(change) 

但是,它只是更改了 1、4 和 7 的 ID。

ID Name
1 foo
2
3
4 bar
5
6
7 baz
8

是否只能更改字典中的行而忽略其余行?获取结果:

ID Name
1 foo
2 Name2
3 Name3
4 bar
5 Name5
6 Name6
7 baz
8 Name8

最佳答案

添加fillnacombine_first :

df['Name'] = df['ID'].map(change).fillna(df['Name'])
print (df)
ID Name
0 1 foo
1 2 Name2
2 3 Name3
3 4 bar
4 5 Name5
5 6 Name6
6 7 baz
7 8 Name8

或者:

df['Name'] = df['ID'].map(change).combine_first(df['Name'])
print (df)
ID Name
0 1 foo
1 2 Name2
2 3 Name3
3 4 bar
4 5 Name5
5 6 Name6
6 7 baz
7 8 Name8

关于python - 如何根据不同的列更改一列中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com