2016-12-19 11 views
0

私は数百の列と行を含む2つのデータフレームがあると仮定して、 同じ行と列(行と列)に基づいて比較したいと思います。例えば、Peterdf1_1df2_2の列、行B及びCについて2つのデータフレームを比較するが、相関を計算しない

df1 = pd.DataFrame({ 
       'Place' : ['A', 'B', 'C','D'], 
       'Peter' : [4,5,1.2,7], 
       'John' : [1,0,3,5], 
       }) 
df1_1 = df1.set_index('Place') 


df2 = pd.DataFrame({ 
       'Place' : ['A', 'B', 'C','D'], 
       'Peter' : ['NA',5,1.2,8.5], 
       'John' : [1,0,3,5], 
       }) 
df2_2 = df2.set_index('Place') 

は同じであるが、他のものではない、 のでピーターカラムで一般的には、(2/4)= 0.5 などでありますジョンの欄の(4/4)= 1.00

パンダを使用してどのようなエレガントな方法ですか?

答えて

4

(df1 == df2).mean()を実行すると、自動的に各列を整列させ、各値をブール値にします。平均をとると、一致した割合が返されます。

データフレームには同じラベルを付ける必要があります。

出力

John  1.0 
Peter 0.5 
dtype: float64 
+1

は最終的に質問を取得するために再読私に5回を取り、その後、あなたはそれが:-)すぐに修正していた実現するために – piRSquared

関連する問題