使用 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中文网其他相关文章!