gpt4 book ai didi

Python:如何从 Pandas 系列的字典中获取值

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:06 26 4
gpt4 key购买 nike

我是 python 的新手,我试图从字典中获取值,其中键是在数据框列 (pandas) 中定义的。我搜索了很多,最接近的是下面链接中的问题,但没有答案。

所以,在这里我试图找到相同类型问题的答案。

Select from dictionary using pandas series

我有一本字典

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

和一个包含以下列的数据框:

>>> df.type
0 3
1 4
2 5
3 6
4 3
5 4
6 5
7 6
8 3

我想创建一个包含相应 type_dict 值的新列,但以下是我唯一能想出但不起作用的东西:

type_dict[df.type]

TypeError: 'Series' 对象是可变的,因此它们不能被散列

type_dict[df.type.values]

TypeError: unhashable type: 'numpy.ndarray'

更新的问题:

对于 pandas DataFrame,比如“df”,我如何绘制以米为单位的速度,并将类型作为标记字典的键。

mkr_dict = {'gps': 'x', 'phone': '+', 'car': 'o'}

x = {'speed': [10, 15, 20, 18, 19], 'meters' : [122, 150, 190, 230, 300], 'type': ['phone', 'phone', 'gps', 'gps', 'car']}

df = pd.DataFrame(x)
meters speed type
0 122 10 phone
1 150 15 phone
2 190 20 gps
3 230 18 gps
4 300 19 car

plt.scatter(df.meters, df.Speed, marker = df.type.map(mkr_dict))

散点图对我不起作用...

最佳答案

将字典作为参数传递给 map :

In [79]:

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

这将在字典中查找键值并返回字典中的关联值。

关于Python:如何从 Pandas 系列的字典中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30312566/

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