2017-03-09 10 views
-2

複数のデータセットがあり、それらが相互に潜在的にどのように接続されているか調べたいと思います。例えば。データセットAとBの文字列に共通する値が多い場合、それがリンクになる可能性があります。この種の分析を自動的に行うことは可能ですか?パンダ:クロスデータセットの列の一致

+0

使用 'pandas.merge'は、私が参加したくない –

+0

@PaulHに参加します。私はどのコラムに参加するかを知りたい。 –

+1

'pandas.Series.unique'で掘り出し始める –

答えて

0

あなたはいつもそれらをデータフレームにしてその方法をチェックすることができます。あなたのデータのサイズによっては遅くなるかもしれません。しかし、これは非常に基本的な方法です。下のコードは、最良のコードではなく、学習目的のために余分なデータフレームを作成しますが、私はあなたがそのプログレッションを見たいと思っていました。

import pandas as pd 
import numpy as np 
df = pd.DataFrame({'A' : [np.NaN,np.NaN,3,4,5,5,3,1,5,np.NaN], 
        'B' : [1,0,3,5,0,0,np.NaN,9,0,0], 
        'C' : ['Pharmacy of IDAHO','Access medicare arkansas','NJ Pharmacy','Idaho Rx','CA Herbals','Florida Pharma','AK RX','Ohio Drugs','PA Rx','USA Pharma'], 
        'D' : [123456,123456,1234567,12345678,12345,12345,12345678,123456789,1234567,np.NaN], 
        'E' : ['Assign','Unassign','Assign','Ugly','Appreciate','Undo','Assign','Unicycle','Assign','Unicorn',]}) 
df2 = pd.DataFrame({'A' : [np.NaN,np.NaN,3,4,5,5,3,1,5,np.NaN], 
        'B' : [1,0,3,5,0,0,np.NaN,9,0,0], 
        'C' : ['Pharmacy of IDAHO','Arkansas','NJ Pharmacy','Idaho Rockies?','CA Herbals','blah blah','AK RX','test_test','PA Rx','USA4Lyfe'], 
        'D' : [123456,123456,1234567,12345678,12345,12345,12345678,123456789,1234567,np.NaN]}) 
#Creates a Column in DF2 If Matching 
df2['Values']= df['C'] == df2['C'] 
#Creates another dataframe where the values are only True 
df3 = df2[df2['Values']== True] 
#Prints the length of the DataFrame which actually gives you the amount of common values 
print("There are",len(df3), "Occurences") 

出力:データベース・スタイルを行うには There are 5 Occurences

関連する問題