从字典中选择值以创建新的数据帧列

2024-10-01 13:40:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典

type_dict = {3: 'foo', 4: 'bar',5: 'foobar', 6: 'foobarbar'}

以及包含以下列的数据帧:

^{pr2}$

我想创建一个包含相应的type_dict值的新列,但以下是我能想到的唯一问题,但它不起作用:

>>> type_dict[df.type]
TypeError: 'Series' objects are mutable, thus they cannot be hashed

>>> type_dict[df.type.values]
TypeError: unhashable type: 'numpy.ndarray'

我真的需要apply并遍历每一行,还是有更有效的替代方法?在


Tags: 数据df字典objectsfootypebarare
1条回答
网友
1楼 · 发布于 2024-10-01 13:40:23

您可以在此处使用^{}

>>> df['type'].map(type_dict)
0          foo
1          bar
2       foobar
3    foobarbar
4          foo
5          bar
6       foobar
7    foobarbar
8          foo
Name: type, dtype: object

map可以接受字典、序列或函数,并返回带有映射值的新序列。它的实现也非常高效(例如,比apply更有效)。在

相关问题 更多 >