在資料操作任務中,通常需要將多個資料幀中的行組合到單一資料幀中。實現此目的的一種方法是執行笛卡爾積,它從輸入資料幀生成所有可能的行組合。
對於 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']]
1.2 中,可以使用合併功能的替代方法。在此方法中,為每個資料幀新增一個公用金鑰以方便連接:
col1 col2 col3 0 1 3 5 1 1 3 6 2 2 4 5 3 2 4 6
以上是如何在 Pandas 中執行 DataFrame 的笛卡爾積?的詳細內容。更多資訊請關注PHP中文網其他相關文章!