パラレルプログラミングをしないで、key
カラムに左右のデータフレームをマージすることはできますが、両方とも非常に時間がかかります。効率的に並列化する方法はありますか?2台のパンダのデータフレームを並列にマージする方法(マルチスレッドまたはマルチプロセッシング)
私は64個のコアを持っていますので、実際には63個を使ってこれら2つのデータフレームをマージすることができます。
left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
result = pd.merge(left, right, on='key')
出力は次のようになります。
left:
A B key
0 A0 B0 K0
1 A1 B1 K1
2 A2 B2 K2
3 A3 B3 K3
right:
C D key
0 C0 D0 K0
1 C1 D1 K1
2 C2 D2 K2
3 C3 D3 K3
result:
A B key C D
0 A0 B0 K0 C0 D0
1 A1 B1 K1 C1 D1
2 A2 B2 K2 C2 D2
3 A3 B3 K3 C3 D3
私はスピードでそれを行うことができるように並列にこれをやりたいです。
「マルチスレッド」ソリューションが可能であっても、あなたは並行して、それらをマージし、チャンクにあなたのデータフレームを打破する必要があると思います(おそらく 'スレッドを使用して'モジュール)を作成し、チャンクをまとめて戻します。すべてがあなたのスピードを4倍以上に向上させるだけです(あなたには4つのコアがあります)。 –
私は64コアを持っていますので、実際にはこれらの2つのデータフレームをマージするために63コアを使用できます。 – contactlp