ホームページ > バックエンド開発 > Python チュートリアル > Python で複数の DataFrame を効率的にマージするにはどうすればよいですか?

Python で複数の DataFrame を効率的にマージするにはどうすればよいですか?

DDD
リリース: 2024-11-29 13:13:09
オリジナル
707 人が閲覧しました

How to Efficiently Merge Multiple DataFrames in Python?

複数のデータフレームをマージする方法

問題

複数のデータフレームのマージは、特にデータフレームの数が増えると複雑でイライラする可能性があります。ネストされたマージ関数を使用することは可能ですが、このアプローチは管理できず、エラーが発生しやすくなります。

解決策

複数のデータフレームをマージするより洗練された効率的な方法については、次の解決策を検討してください。

import pandas as pd
from functools import reduce

# Initialize a list of dataframes
dfs = [df1, df2, df3]

# Merge the dataframes using the reduce function
df_merged = reduce(lambda left, right: pd.merge(left, right, on=['DATE'], how='outer'), dfs)
ログイン後にコピー

このソリューションは、functools モジュールの Reduce 関数を利用して、データフレームを反復的にマージします。ラムダ関数は、結合に指定された列 ('DATE') とすべての行を保持するための 'outer' マージ メソッドを使用して、マージ操作を定義します。

利点

明確でわかりやすい: このソリューションは、複数のデータフレームをマージするための明確かつ簡潔なアプローチを提供し、複雑なネストされたマージの必要性を排除します。関数。

複数のデータフレームを効果的に処理します: このソリューションは、任意の数のデータフレームを処理できるため、スケーラブルで便利です。

次のことを考慮してください。 dataframes:

df_1:
May 19, 2017;1,200.00;0.1%
May 18, 2017;1,100.00;0.1%
May 17, 2017;1,000.00;0.1%
May 15, 2017;1,901.00;0.1%

df_2:
May 20, 2017;2,200.00;1000000;0.2%
May 18, 2017;2,100.00;1590000;0.2%
May 16, 2017;2,000.00;1230000;0.2%
May 15, 2017;2,902.00;1000000;0.2%

df_3:
May 21, 2017;3,200.00;2000000;0.3%
May 17, 2017;3,100.00;2590000;0.3%
May 16, 2017;3,000.00;2230000;0.3%
May 15, 2017;3,903.00;2000000;0.3%
ログイン後にコピー

提供されたソリューションを使用して、これらをマージできますデータフレーム:

df_merged = reduce(lambda left, right: pd.merge(left, right, on=['DATE'], how='outer'), dfs)
ログイン後にコピー

結果:

DATE    VALUE1    VALUE2    VALUE3
May 15, 2017;  1,901.00;0.1%;  2,902.00;1000000;0.2%;   3,903.00;2000000;0.3%
ログイン後にコピー

以上がPython で複数の DataFrame を効率的にマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート