gpt4 book ai didi

python - 通过系列 s1 索引系列 s2 并保留 s1 索引

转载 作者:行者123 更新时间:2023-12-01 03:55:21 24 4
gpt4 key购买 nike

我想从另外两个系列 s1s2 构造一个系列 s3,如下所示:

In [130]: s1
Out[130]:
1 b
2 b
3 c
dtype: object

In [131]: s2
Out[131]:
a x
b y
c z
dtype: object

我希望 s3 具有 s1 的索引以及由 s1 的值索引的 s2 的值>,即:

In [131]: s3
Out[131]:
1 y
2 y
3 z
dtype: object

到目前为止,我只需通过 s1 索引 s2 就可以接近:

In [133]: s2.loc[s1]
Out[133]:
b y
b y
c z
dtype: object

但我不知道如何将索引重置回 s1 的索引(它似乎不是 reindex 操作)。正在做:

pa.DataFrame(s2.loc[s1], index = s1.index)

也不起作用并给出:

ValueError: cannot reindex from a duplicate axis.

最佳答案

使用map 系列 s1 by s2:

import pandas as pd

s1 = pd.Series(['b','b','c'], index=[1,2,3])
s2 = pd.Series(['x','y','z'], index=['a','b','c'])

s3 = s1.map(s2)
print (s3)
1 y
2 y
3 z
dtype: object

map 相同来自 s2dict:

d = s2.to_dict()
print (d)
{'a': 'x', 'b': 'y', 'c': 'z'}

s3 = s1.map(d)
print (s3)
1 y
2 y
3 z
dtype: object

关于python - 通过系列 s1 索引系列 s2 并保留 s1 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37568830/

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