2016-03-31 7 views
-1

私はdataFrameの2つの系列を比較し、それらが全く同じ要素を持っているかどうかについてTrueまたはFalseの真偽値を返します。パンダのデータフレームの2つのシリーズが同じ要素を持っていることを確認するにはどうすればよいですか?

要素が異なる場合は、そのインデックス番号を知りたいと思います。

ありがとうございました!あなたがisinを使用することができます

+0

は、あなたが任意の例を追加してもらえますか? –

+0

申し訳ありませんが、私はオーバーフローをスタックする新しいです。私のコードは、(2番目の答えは、上から)下に掲載されています。 – thescoop

答えて

1

IIUC:あなた上記の~を使用してマスクを否定することでFalseあるインデックス値を取得することができますから、

In [123]: 
s1 = pd.Series(np.arange(5)) 
s2 = pd.Series(np.arange(1,6)) 
s2 

Out[123]: 
0 1 
1 2 
2 3 
3 4 
4 5 
dtype: int32 

In [125]:  
s1.isin(s2) 

Out[125]: 
0 False 
1  True 
2  True 
3  True 
4  True 
dtype: bool 

In [127]: 
s1[~s1.isin(s2)].index 

Out[127]: 
Int64Index([0], dtype='int64') 
0

EdChum、あなたの答えをありがとう!

それは私がとにかく下に掲載します私が動作するように管理している1、よりはましだ:

ser1 = Series(np.arange(16)) 
arr = ser1.reshape(4,4) 
df = DataFrame((arr),columns=['a','b','c','d']) 
ser_e = Series([2,6,10,14]) 
df['e'] = ser_e 

df['c']>df['b'] 
df.loc[df['c'] != df['e'] ] 
関連する問題