前提・実現したいこと
indexオブジェクトを使ってDataFrameから行を抽出したいと思っています。
Aが元のDataFrame、Bがある操作によってAから抽出されたDataFrameとして、B.indexを使ってAから当該行を抽出できないでしょうか。
該当のソースコード
python3
1idx1 = ['a','b','c','d','e'] 2idx2 = ['a','c','e'] 3A = pd.DataFrame([[0]*3], index=idx1) 4B = pd.DataFrame([[1]*2], index=idx2) #Aから何らかの操作で行と列を抽出したイメージ 5 6#B.indexを使ってAの当該行を抽出したい 7C = pd.DataFrame([[0]*3], index=idx2) 8#で表されるDataFrameが、欲しい結果です 9 10#実行したこと 11A[A.index == B.index] 12#エラーメッセージ 13ValueError: Lengths must match to compare
forループなど使えばできるのでしょうが、勉強のためにも、1文でスマートに表す方法があれば知りたいと思っています。よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
python 3.6.5
anaconda 1.8.7
windows 10
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/11 04:50 編集