gpt4 book ai didi

python - Pandas:根据具有多个值的其他列添加 df 列映射到相同的新列值

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:11 32 4
gpt4 key购买 nike

我有一个这样的数据框:

df1 = pd.DataFrame({'col1' : ['cat', 'cat', 'dog', 'green', 'blue']})

我想要一个给出类别的新列,如下所示:

dfoutput = pd.DataFrame({'col1' : ['cat', 'cat', 'dog', 'green', 'blue'],
'col2' : ['animal', 'animal', 'animal', 'color', 'color']})

我知道我可以使用 .loc 低效地做到这一点:

df1.loc[df1['col1'] == 'cat','col2'] = 'animal'
df1.loc[df1['col1'] == 'dog','col2'] = 'animal'

如何将 catdog 组合成 animal?这不起作用:

df1.loc[df1['col1'] == 'cat' | df1['col1'] == 'dog','col2'] = 'animal'

最佳答案

构建你的 dict 然后做 map

d={'dog':'ani','cat':'ani','green':'color','blue':'color'}
df1['col2']=df1.col1.map(d)
df1
col1 col2
0 cat ani
1 cat ani
2 dog ani
3 green color
4 blue color

关于python - Pandas:根据具有多个值的其他列添加 df 列映射到相同的新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031812/

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