Python-两个dataframe用for循环求笛卡尔积

合并两个没有共同列的dataframe,相当于按行号求笛卡尔积。

最终效果如下

Python-两个dataframe用for循环求笛卡尔积

代码如下:

def cartesian_df(A,B):
        new_df = pd.DataFrame(columns=list(A).extend(list(B)))
        for _,A_row in A.iterrows():
            for _,B_row in B.iterrows():
                row = A_row.append(B_row)
                new_df = new_df.append(row,ignore_index=True)
        return new_df

目前来看运行速度比较慢,后面考虑能不能继续优化。

相关推荐