我有两个系列包含相同的元素,但顺序不同。我想根据第一个序列中的值,将第二个序列按与第一个序列相同的顺序排列,然后在重新排序后获取第二个序列的索引。我该怎么做?
例子:
根据bar中的值将foofoo相同的顺序带出,并返回重新排列的索引。

import pandas as pd

foo = pd.Series(['d','b','c','a'])
bar = pd.Series(['c','a','b','d'])

最佳答案

IIUC,你可以用索引“交换”你的bar系列值,然后用reindex中的值来交换foo

pd.Series(bar.index, index=bar).reindex(foo)

[出局]
d    3
b    2
c    0
a    1
dtype: int64

关于python - 根据值将一个序列按另一个序列排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57272452/

10-10 08:03