这可能是我遗失的非常简单的解决方案,但我想通过将每个单独的行添加到另一个数据帧中的每一行来组合两个数据帧。请参见下面的示例。
df:
name
0 ben
1 john
2 tom
df1:
colour
0 red
1 blue
结果:
name colour
0 ben red
1 ben blue
2 john red
3 john blue
4 tom red
5 tom blue
道歉似乎是一个简单的解决方案。预先感谢。
答案 0 :(得分:1)
这可以通过交叉合并来完成:
(df1.assign(dummy=1)
.merge(df2.assign(dummy=1), on='dummy')
.drop('dummy', axis=1)
)
答案 1 :(得分:1)
您可以使用pandas.MultiIndex.from_product
:
import pandas as pd
numbers = [0, 1, 2]
colors = ['green', 'purple']
df = pd.DataFrame(index=pd.MultiIndex.from_product([numbers, colors],
names=['number', 'color'])).reset_index()