用索引法求 pandas 中两个级数的交集

2022-05-12 00:00:00 python pandas series intersection

问题描述

我有两个不同长度的序列,我试图根据索引找到这两个序列的交集,其中索引是一个字符串。希望最终结果是一个包含基于公共字符串索引的交叉点元素的系列。

有什么想法吗?


解决方案

pandas 索引有一个可以使用的intersection method。如果您有两个系列s1s2,则

s1.index.intersection(s2.index)

或,相当于:

s1.index & s2.index

为您提供s1s2中的索引值。

然后,您可以使用该索引列表来查看系列的相应元素。例如:

>>> ixs = s1.index.intersection(s2.index)
>>> s1.loc[ixs]
# subset of s1 with only the indexes also found in s2 appears here

相关文章