创建带有PandasID的组合 Dataframe [重复]

webghufk  于 2023-02-02  发布在  其他
关注(0)|答案(1)|浏览(112)
    • 此问题在此处已有答案**:

(13个答案)
11小时前关门了。
我在如何使用Pandas实现这一点上遇到了困难。给定一个带有ID列的 Dataframe (df1)和一个单独的 Dataframe (df2),我如何将这两个 Dataframe 组合起来,生成第三个 Dataframe ,以保留ID列及其所有可能的组合?
DF1

ID   name.x
1    a
2    b
3    c

DF2

name.y
l
m

Dataframe 创建:

df1 = pd.DataFrame({'ID':[1,2,3],'name.x':['a','b','c']})
df2 = pd.DataFrame({'name.y':['l','m']})

组合DF

ID   name.x name.y
1    a      l 
1    a      m    
2    b      l
2    b      m
3    c      l 
3    c      m
m1m5dgzv

m1m5dgzv1#

在每个相同的列上创建一个列,做一个完整的外部连接,然后保留你想要的列:

df1 = pd.DataFrame({'ID':[1,2,3],'name.x':['a','b','c']})
df2 = pd.DataFrame({'name.y':['l','m']})

df1['join_col'] = True
df2['join_col'] = True

df3 = pd.merge(df1,df2, how='outer',on = 'join_col')

print(df3[['ID','name.x','name.y']])

将输出:

ID name.x name.y
0   1      a      l
1   1      a      m
2   2      b      l
3   2      b      m
4   3      c      l
5   3      c      m

相关问题