将数据框中的每一行与单独的数据框结合起来[重复]
Posted
技术标签:
【中文标题】将数据框中的每一行与单独的数据框结合起来[重复]【英文标题】:Combining each row from dataframe with a separate dataframe [duplicate] 【发布时间】:2021-01-20 08:49:32 【问题描述】:这可能是我缺少的一个非常简单的解决方案,但我想通过将每个单独的行添加到另一个数据帧中的每一行来组合两个数据帧。请看下面的例子。
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
看来这可能是一个简单的解决方案,所以很抱歉。提前致谢。
【问题讨论】:
【参考方案1】:这可以通过交叉合并来完成:
(df1.assign(dummy=1)
.merge(df2.assign(dummy=1), on='dummy')
.drop('dummy', axis=1)
)
【讨论】:
【参考方案2】:你可以使用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()
【讨论】:
以上是关于将数据框中的每一行与单独的数据框结合起来[重复]的主要内容,如果未能解决你的问题,请参考以下文章