将数据框中的每一行与单独的数据框结合起来[重复]

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()

【讨论】:

以上是关于将数据框中的每一行与单独的数据框结合起来[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将数据框中的每一行除以 Python 中的向量

将邮政编码 API 调用应用于数据框中的每一行

将来自一个数据框的值合并到 Pandas 中的新列中[重复]

对于 R 数据框中的每一行

如何将数据框中的人口单元格与现有数据框合并和重复?

将比例 z 检验应用于数据框中的每条记录