2016-10-22 6 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]) 

2番目の値はTrue値のみを含みますが、系列のインデックスは最初のインデックスのサブセットです。

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

私は次のように、対応するインデックスのA-値を取得するには、ブールベクトルとしてBを使用したい:

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

関連する問題