如何在 Pandas 中取得笛卡爾積
在 Pandas 中,DataFrame 是一種表格資料結構。資料分析通常需要對多個 DataFrame 執行操作。其中一個操作是笛卡爾積,它將兩個 DataFrame 中的所有行組合成一個新的 DataFrame。
笛卡爾積合併 (Pandas >= 1.2)
Pandas 中的 merge 函數提供了一種獲取笛卡爾積的有效方法。對於版本 1.2 及更高版本,請使用以下內容:
df1 = DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df2 = DataFrame({'col3': [5, 6]}) df1.merge(df2, how='cross')
這將傳回一個新的 DataFrame,其中包含 df1 和 df2 中行的所有組合。
笛卡爾積的合併 (Pandas < ; 1.2)
對於早期版本的 Pandas,如果每行都有重複的鍵,則仍然可以使用合併。此鍵允許針對笛卡爾積對齊行:
df1 = DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]}) df2 = DataFrame({'key': [1, 1], 'col3': [5, 6]}) merge(df1, df2, on='key')[['col1', 'col2', 'col3']]
以上是如何計算 Pandas 中 DataFrame 的笛卡兒積?的詳細內容。更多資訊請關注PHP中文網其他相關文章!