ホームページ >バックエンド開発 >Python チュートリアル >2 つの Pandas DataFrame のデカルト積を計算するにはどうすればよいですか?

2 つの Pandas DataFrame のデカルト積を計算するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-09 06:37:09535ブラウズ

How to Calculate the Cartesian Product of Two Pandas DataFrames?

Pandas のデカルト積

問題:

明示的に定義せずに 2 つの Pandas データフレームのデカルト積を取得する

例:

import pandas as pd

df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
df2 = pd.DataFrame({'col3': [5, 6]})

必要な出力:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6

解決策:

パンダの場合 >= 1.2:

組み込みマージ関数の使用:

df1.merge(df2, how='cross')

Pandas の場合 < 1.2:

繰り返しキーによるマージの使用:

key_df = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]})
merge(key_df, df2, on='key')[['col1', 'col2', 'col3']]

以上が2 つの Pandas DataFrame のデカルト積を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。