同じ列を持つ2つのパンダデータフレームがあります。
df1 = pd.DataFrame({'A':[0,0,1,1], 'B':[0,1,0,1]})
df2 = pd.DataFrame({'A':[0,1], 'B':[1,1]})
そして、値がdf2の行と一致するdf1から行インデックスを返したいと思います。たとえば、[1、3]を生成します。df2をループすることでこれを行うことができますが、実際にはこれは非常に遅いです。パンダでこの操作をベクトル化する正しい方法は何ですか?
merge
最初に試してください
out = df1.reset_index().merge(df2,how='right')['index']
Out[63]:
0 1
1 3
Name: index, dtype: int64
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加