使用Pandas 資料幀時,通常需要建立兩個或多個資料幀的笛卡爾積。這對於組合來自多個來源的資料或探索不同變數之間的關係來說是一個有用的操作。
在最新版本的Pandas (>= 1.2) 中,交叉合併方法
import pandas as pd df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'col3': [5, 6]}) df_cartesian = pd.merge(df1, df2, how='cross')
在合併中使用重複鍵
df1 = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'key': [1, 1], 'col3': [5, 6]}) df_cartesian = pd.merge(df1, df2, on='key')[['col1', 'col2', 'col3']]
結論
無論您使用的是Pandas >= 1.2還是在早期版本中,上述方法提供了創建兩個或多個資料幀的笛卡爾積的有效方法。根據您使用的 Pandas 的特定版本,一種方法可能比另一種方法更方便或更有效。以上是如何有效率地創造 Pandas DataFrame 的笛卡兒積?的詳細內容。更多資訊請關注PHP中文網其他相關文章!