gpt4 book ai didi

python - 如果 A 列值在 dict 键中,则将 B 列设置为 pandas 数据框中的 dict 值

转载 作者:行者123 更新时间:2023-11-30 22:28:14 26 4
gpt4 key购买 nike

假设我有一个如下所示的数据框:

df=pd.DataFrame({'a':['A','A','B','C'],'b':[1,2,3,4]})
a b
0 A 1
1 A 2
2 B 3
3 C 4

和一个看起来像这样的字典:

convert={'A':9,'C':8}

如果列 aconvert 的键中具有值,则列 b 的相应行应更改为字典值。这样输出将如下所示:

   a  b
0 A 9
1 A 9
2 B 3
3 C 8

我在想类似的事情(不起作用):

pd.np.where(df['a'].isin(convert),convert[df['a']],df['b'])

最佳答案

您可以将mapfillna一起使用; df.a.map(convert) 将列 a 中的值映射到字典中的对应值(如果键存在),否则 NaN,然后使用 fillna(df.b)b 列中的值填充缺失值:

df['b'] = df.a.map(convert).fillna(df.b)

df
# a b
#0 A 9.0
#1 A 9.0
#2 B 3.0
#3 C 8.0

关于python - 如果 A 列值在 dict 键中,则将 B 列设置为 pandas 数据框中的 dict 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675856/

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