【问题标题】: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
    
     

看来这可能是一个简单的解决方案,所以很抱歉。提前致谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 2017-04-06
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 2020-09-10
        • 2022-10-25
        相关资源
        最近更新 更多