ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame のデカルト積を効率的に作成するにはどうすればよいですか?
Pandas データフレームを操作する場合、多くの場合、2 つ以上のデータフレームのデカルト積を作成する必要があります。これは、複数のソースからのデータを結合したり、異なる変数間の関係を調査したりする場合に便利な操作です。
Pandas の最近のバージョン (>= 1.2) では、クロスmerge メソッドは、2 つのデータフレームのデカルト積を計算する便利な方法を提供します。このメソッドを使用するには、how='cross' 引数を指定してマージ関数を呼び出すだけです。
import pandas as pd df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'col3': [5, 6]}) df_cartesian = pd.merge(df1, df2, how='cross')
結果のデータフレーム df_cartesian には、df1 と df2 の行のすべての組み合わせが含まれ、デカルト積が生成されます。 .
以前のバージョンの Pandas の場合1.2 では、デカルト積を作成するには少し異なるアプローチを使用する必要がありました。このアプローチでは、データフレームの 1 つで繰り返しキーを使用し、それらのキーをマージします。
df1 = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'key': [1, 1], 'col3': [5, 6]}) df_cartesian = pd.merge(df1, df2, on='key')[['col1', 'col2', 'col3']]
両方のデータフレームの各行で繰り返されるキーを作成することで、マージによってデカルト積を効果的に実行できます。
Pandas >= 1.2 またはそれ以前を使用しているかどうかバージョンでは、上記のメソッドは、2 つ以上のデータフレームのデカルト積を作成する効率的な方法を提供します。使用している Pandas の特定のバージョンに応じて、一方のアプローチがもう一方のアプローチよりも便利または効率的になる場合があります。
以上がPandas DataFrame のデカルト積を効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。