我想从另外两个系列s3
和s1
构建一个系列s2
,如下所示:
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
,而值s2
的索引值为s1
,即:
In [131]: s3
Out[131]:
1 y
2 y
3 z
dtype: object
到目前为止,我只需通过s2
索引s1
就可以了。
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:无法从重复的轴重新索引。
答案 0 :(得分:2)
Series
使用map
s1
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
与来自dict
的{{1}}的{{3}}相同:
s2