例如
第一个dataframe:(3个)
A B
1 5
2 6
3 7
第二个dataframe:(3个)
Me
a
b
c
现在我想让这两个dataframe合并,结果是
A B Me (9个)
1 5 a
1 5 b
1 5 c
2 6 a
2 6 b
2 6 c
3 7 a
3 7 b
3 7 c
该怎么办?
例如
第一个dataframe:(3个)
A B
1 5
2 6
3 7
第二个dataframe:(3个)
Me
a
b
c
现在我想让这两个dataframe合并,结果是
A B Me (9个)
1 5 a
1 5 b
1 5 c
2 6 a
2 6 b
2 6 c
3 7 a
3 7 b
3 7 c
该怎么办?
outer join? 來源: pandas-docs
In [46]: result = pd.merge(left, right, how='outer', on=['key1', 'key2'])
只要把key想好就可以做到。
In [48]: left = pd.DataFrame({'A' : [1,2], 'B' : [2, 2]})
In [49]: right = pd.DataFrame({'A' : [4,5,6], 'B': [2,2,2]})
In [50]: result = pd.merge(left, right, on='B', how='outer')
受到@hanteng 回答的启发,将他的答案改进了一下。
以下是我的代码
以下是我的结果