首頁 > 後端開發 > Python教學 > 如何在 Pandas 中執行 DataFrame 的笛卡爾積?

如何在 Pandas 中執行 DataFrame 的笛卡爾積?

Patricia Arquette
發布: 2024-12-24 08:19:13
原創
305 人瀏覽過

How to Perform a Cartesian Product of DataFrames in Pandas?

Pandas 中的笛卡爾積

在資料操作任務中,通常需要將多個資料幀中的行組合到單一資料幀中。實現此目的的一種方法是執行笛卡爾積,它從輸入資料幀生成所有可能的行組合。

對於 Pandas 版本 >= 1.2,合併函數提供了笛卡爾積的內建方法計算。下面的程式碼示範了它的用法:

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

df1.merge(df2, how='cross')
登入後複製

輸出:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
登入後複製
登入後複製

對於Pandas 版本

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

pd.merge(df1, df2,on='key')[['col1', 'col2', 'col3']]
登入後複製
For Pandas versions

1.2 中,可以使用合併功能的替代方法。在此方法中,為每個資料幀新增一個公用金鑰以方便連接:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
登入後複製
登入後複製
輸出:

以上是如何在 Pandas 中執行 DataFrame 的笛卡爾積?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板