私は2 dataframes-あるデータフレーム内の列の値を他のデータフレームの列内で使用可能かどうかチェックする方法はありますか?
df1_data = {'sym1' :{0:'abc a01',1:'pqr q02',2:'xyz y03',3:'mno o12',4:'lmn l45'}}
df1 = pd.DataFrame(df1_data)
print df1
df2_data = {'sym2' :{0:'abc a01',1:'xxx p0',2:'xyz y03',3:'mno o12',4:'lmn l45',5:'rrr r1',6:'kkk k3'}}
df2 = pd.DataFrame(df2_data)
print df2
出力 -
sym1
0 abc a01
1 pqr q02
2 xyz y03
3 mno o12
4 lmn l45
sym2
0 abc a01
1 xxx p0
2 xyz y03
3 mno o12
4 lmn l45
5 rrr r1
6 kkk k3
を持っている私は、DF2データフレームSYM1列では使用できませんかSYM2列の値を確認したいです。 sym2カラムのシンボルが利用できない場合、sym1カラムでは利用できないシンボルのリストが必要です。すべてのシンボルが使用可能な場合、リストは空でなければなりません。
期待Result-
list -> ['xxx p0','rrr r1','kkk k3']
。私はこのリストを使用しています(df2 [〜df2.sym2.isin(df1.sym1)]。sym2)。高速実行と比較してどれが最適ですか? – kit
それは同じです: 'In [123]:%timeit(df2.ix [〜df2.sym2.isin(df1.sym1)、 'sym2']。tolist()))' '100ループ、3のベスト:ループごとに3.22ミリ秒 ' - ' [124]:%timeit(list(df2.ix [〜df2.sym2.isin(df1.sym1)、 'sym2'])) ' ' 3:ループあたり3.22ミリ秒」 – jezrael
@ jezrael- okもう一度ありがとう。 – kit