合并两个没有共同列的dataframe,相当于按行号求笛卡尔积。
最终效果如下
以下代码是参考别人的代码修改的:
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)
如下所示:
In [3]: import pandas as pd
In [4]: a = pd.Series([1,2,3])
In [5]: b = pd.Series([2,3,4])
In [6]: c = pd.DataFrame([a,b])
In [7]: c
Out[7]:
0 1 2
0 1 2 3
1 2 3 4
不过pandas直接用列表生成dataframe只能按行生成,如果是字典可以按列生成,比如:
In [8]: c = pd.DataFrame({'a':a