gpt4 book ai didi

python - 如何将带有索引列表的字典映射到新变量

转载 作者:行者123 更新时间:2023-12-01 01:04:32 25 4
gpt4 key购买 nike

所以,今天我正在努力应对以下情况:我有一个字典,其中每个键都是一个簇号,每个值都是一个由与该簇关联的索引号组成的列表:

dic={'0':[0,1,2],'1':[3,4,5]}

我的数据框看起来像这样:

index    col
0 foo
1 foo
2 foo
3 foo
4 foo
5 foo

我认为以下方法可行:

df['cluster']=df.index.map(dic)

但它映射到键而不是值,带来以下内容:

index    col   cluster
0 foo [0,1,2]
1 foo [3,4,5]
2 foo nan
3 foo nan
4 foo nan
5 foo nan

我想要的是:

index    col   cluster
0 foo 0
1 foo 0
2 foo 0
3 foo 1
4 foo 1
5 foo 1

除了反转我的字典来映射它之外,还有其他方法吗?

最佳答案

检查并展平你的dict

df.index.map({y : x[0] for x in dic.items() for y in x[1]})
Out[379]: Index(['0', '0', '0', '1', '1', '1'], dtype='object')
#df['cluster']=df.index.map({y : x[0] for x in dic.items() for y in x[1]})

关于python - 如何将带有索引列表的字典映射到新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503367/

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