2017-05-03 12 views
0

私は私のコードマージデータフレームメモリ効率の問題パンダ

merging files based on column coordinates of two files in python

のために、この正確なコマンドを使用しようとしていますが、私のシステムは、単に、(私は〜315,000のラインを持っているためかもしれない)に任意のより良い方法を凍結するだろうこれを行う?以下 は私のコードです:

new_df = df.merge(gene_df, how='outer', on ='chrm') 
new_df = new_df[(new_df.start_x>=df.start_y) & (df.end_x<=df.end_y)] 
print (new_df.head(10)) 

答えて

1

は単にnew_dfフィールドを使用します。ロジックでは、以前にマージされた元のdfのフィールドが使用されます。慎重に、リンクされた質問を見てください。データフレーム間のそのようなロジックは実行するのが難しいでしょう!

new_df = new_df[(new_df.start_x >= new_df.start_y) & (new_df.end_x <= new_df.end_y)] 
+0

代替アプローチはありますか?私のアップストリームコードとダウンストリームコードのほとんどはパンダに入っています。 – sbradbio

+0

あなたの投稿コードはタイプミスですが、それは接尾辞付きの '_x'、' _y'で間違っているはずですから? – Parfait

関連する問題