我在数据框中有一个列表:
0: [car, telephone]
1: [computer, beach, book, language]
2: [rice, bus, street]
每个列表都在每一行中。此外,此列表在每一行中都有不同的长度。我有一本字典:
dict = {'car': 'transport',
'rice':'food'
'book':'reading'
}
在那之后,我把听写纸弄平了
d = {val:key for key, lst in dict.items() for val in lst}
我想迭代列表中的所有项目,并创建一个此类列,
这是所需的输出:
index col1 col2
0: [car, telephone],transport
1: [computer, beach, book, language], reading
2: [rice, bus, street], food
我试过:
df['col2'] = data_df['col1'].index.map(d)
但我明白了
col2
NaN
NaN
NaN
2条答案
按热度按时间ltskdhd11#
你可以
.explode
然后使用字典进行翻译,然后再次分组:样本数据:
代码:
输出:
5sxhfpxr2#
你可以用
apply
在自定义函数上:输出:
COL20[汽车、电话]交通1[计算机、海滩、书籍、语言]阅读2[大米、公共汽车、街道]食物