首頁 >後端開發 >Python教學 >如何計算兩個 Pandas DataFrame 的笛卡兒積?

如何計算兩個 Pandas DataFrame 的笛卡兒積?

Barbara Streisand
Barbara Streisand原創
2024-12-09 06:37:09525瀏覽

How to Calculate the Cartesian Product of Two Pandas DataFrames?

Pandas 中的笛卡爾積

問題:

在沒有明確定義的情況下取得兩個 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

對於Pandas
key_df = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]})
merge(key_df, df2, on='key')[['col1', 'col2', 'col3']]
1.2:使用重複鍵的合併:

以上是如何計算兩個 Pandas DataFrame 的笛卡兒積?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn