2016-10-22 68 views
2

我有2个系列。 第一个包含一个索引数为0..8的数字列表。熊猫选择未对齐的索引

A = pd.Series([2,3,4,6,5,4,7,6,5], name=['A'], index=[0,1,2,3,4,5,6,7,8]) 

第二个只包含True值,但该系列的索引是第一个的子集。

B = pd.Series([1, 1, 1, 1, 1], name=['B'], index=[0,2,4,7,8], dtype=bool) 

我想用B中的布尔向量来获得A-值对应的指标,如:

A[B] 

[...] 
IndexingError: Unalignable boolean Series key provided 

不幸的是这引发错误。

我需要先对齐它们吗?

回答

5

是否

A[B.index.values] 

工作,为您的大熊猫版本? (我看到我们有不同的版本,因为现在系列名称必须是可散列的,所以你的代码给了我一个错误)

+1

是的,它的工作原理 - 谢谢。 – Ale

+1

@Ale,我稍微修改它:'A [B [B == True] .index.values]'或'A.ix [B [B == True] .index]' – MaxU