在数据操作任务中,通常需要将多个数据帧中的行组合到单个数据帧中。实现此目的的一种方法是执行笛卡尔积,它从输入数据帧生成所有可能的行组合。
对于 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中文网其他相关文章!