ホームページ > バックエンド開発 > Python チュートリアル > 単一列に基づいて Pandas DataFrame の 3 方向結合を実行するにはどうすればよいですか?

単一列に基づいて Pandas DataFrame の 3 方向結合を実行するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-01 05:32:14
オリジナル
812 人が閲覧しました

How to Perform a Three-Way Join of Pandas DataFrames Based on a Single Column?

列に基づいて Pandas データフレームで 3 方向結合を実行する

異種のデータセットを操作する場合、それらを結合して包括的なビューを取得すると、重要であること。 Python の pandas ライブラリでは、join() 関数は、共通のインデックスに基づいて複数のデータフレームを結合する強力な方法を提供します。

質問:

あなたは 3 つの CSV ファイルを所有しています。それぞれに最初の列として人物名が含まれ、残りの列としてさまざまな属性が含まれます。目標は、これらのファイルを 1 つの CSV に「結合」し、各行が一意の人物とそのすべての属性を表すようにすることです。

最初、join() 関数はマルチインデックスの必要性を暗示します。ただし、単一のインデックスに基づいて結合しようとすると、混乱が生じます。

答え:

目的の 3 方向結合を実現するには、関数ツールを使用できます。 reduce 関数。データフレームに対する順次のリダクション操作を容易にします。その方法は次のとおりです。

import functools as ft
dfs = [df0, df1, df2, ..., dfN]  # List of dataframes
df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
ログイン後にコピー

このアプローチでは、共通の列 (この場合は「name」など) に基づいて任意の数のデータフレームを結合できます。 reduce() 関数は、pandas merge() 関数をリスト内のデータフレームに繰り返し適用し、マージされたすべての属性データを含む df_final という単一のデータフレームを生成します。

以上が単一列に基づいて Pandas DataFrame の 3 方向結合を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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