300個のデータフレームをマージしようとしています。私の制約は、すべてに共通の列が4つしかないことで、残りは共通である場合とそうでない場合があります。マージ中に新しい列が検出されるたびにデータフレームに列を追加する必要があります。 同じもののおもちゃのデータセットをシミュレートしました。
データフレーム1:
Column_A : 'a', 'a', 'b', 'b', 'd'
Column_CounterName : 'Type1', 'Type2', 'Type3', 'Type4', 'Type1'
Column_CounterValue : 100, 300, 356, 288, 233, 453
Dataframe2:
Column_A : 'm', 'm', 'n', 'n', 'o'
Column_CounterName : 'Type1', 'Type5', 'Type6','Type5', 'Type1'
Column_CounterValue : 100, 300, 356, 846, 7455
マージされたデータフレームは次のとおりです。
Column_A : 'a', 'b', 'd', 'm', 'n', 'o'
Type1 : 100, null, 453, 100, null, 7455
Type2 : 300, null, null, null, null, null
Type3 : null, 356, null, null null, null
Type4 : null, 233, null, null, null, null
Type5 : null, null, null, 356, 846, null
Type6 : null, null, null, 356, null, null
Column_A、Type1、....はすべて列名です。
どうすればいいですか?
また、マージ後にNull値を入力するにはどうすればよいですか。
set_index
が必要だと思うconcat
とA
によるすべてのDataFrameへの参加 カラム:編集:
取得する場合:
ペア
Column_A
の重複を意味します およびColumn_CounterName
お気に入り:次に、可能な解決策は、複製されたペアを集約します。によって
mean
: