如何在 Pandas 中获取笛卡尔积
在 Pandas 中,DataFrame 是一种表格数据结构。数据分析通常需要对多个 DataFrame 执行操作。其中一种操作是笛卡尔积,它将两个 DataFrame 中的所有行组合成一个新的 DataFrame。
笛卡尔积合并 (Pandas >= 1.2)
Pandas 中的 merge 函数提供了一种获取笛卡尔积的有效方法。对于版本 1.2 及更高版本,请使用以下内容:
df1 = DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df2 = DataFrame({'col3': [5, 6]}) df1.merge(df2, how='cross')
这将返回一个新的 DataFrame,其中包含 df1 和 df2 中行的所有组合。
笛卡尔积的合并 (Pandas < ; 1.2)
对于早期版本的 Pandas,如果每行都有重复的键,则仍然可以使用合并。此键允许针对笛卡尔积对齐行:
df1 = DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]}) df2 = DataFrame({'key': [1, 1], 'col3': [5, 6]}) merge(df1, df2, on='key')[['col1', 'col2', 'col3']]
以上是如何计算 Pandas 中 DataFrame 的笛卡尔积?的详细内容。更多信息请关注PHP中文网其他相关文章!