如何使用Python的for循环计算两个dataframe的笛卡尔积?
- 内容介绍
- 文章标签
- 相关推荐
本文共计563个文字,预计阅读时间需要3分钟。
合并两个没有共同列的dataframe,按行号求笛卡尔积。
最终效果如下:
pythonimport pandas as pd
def cartesian_df(A, B): new_df=pd.DataFrame(columns=list(A.columns).extend(list(B.columns))) for i, A_row in enumerate(A.itertuples(index=False, name=None)): for j, B_row in enumerate(B.itertuples(index=False, name=None)): new_df.loc[i, new_df.columns[:-1]]=A_row new_df.loc[i, new_df.columns[-1]]=B_row return new_df
合并两个没有共同列的dataframe,相当于按行号求笛卡尔积。
本文共计563个文字,预计阅读时间需要3分钟。
合并两个没有共同列的dataframe,按行号求笛卡尔积。
最终效果如下:
pythonimport pandas as pd
def cartesian_df(A, B): new_df=pd.DataFrame(columns=list(A.columns).extend(list(B.columns))) for i, A_row in enumerate(A.itertuples(index=False, name=None)): for j, B_row in enumerate(B.itertuples(index=False, name=None)): new_df.loc[i, new_df.columns[:-1]]=A_row new_df.loc[i, new_df.columns[-1]]=B_row return new_df
合并两个没有共同列的dataframe,相当于按行号求笛卡尔积。

