【发布时间】:2022-12-09 23:06:56
【问题描述】:
我有两个熊猫数据框:
from pandas import DataFrame
df1 = DataFrame({'col1':[1,2],'col2':[3,4]})
df2 = DataFrame({'col3':[5,6]})
获得他们的笛卡尔积的最佳做法是什么(当然没有像我一样明确地写出来)?
#df1, df2 cartesian product
df_cartesian = DataFrame({'col1':[1,2,1,2],'col2':[3,4,3,4],'col3':[5,5,6,6]})
【问题讨论】:
-
从 pandas 1.2 开始,您很快就可以使用
left.merge(right, how="cross"),它会像魔术一样工作。看到这个github PR。 -
它提高了问题的可读性,以打印/显示格式显示数据帧。
标签: python pandas merge cartesian-product cross-join