创建索引并在转置后并排合并两个数据帧



我有两个表

NumberofTracks   NumberofAlbums  
0       200                12   

Genres       Metal  Rock
count       12     17 

第二个表是通过聚合的转置组的结果

我需要加入两张桌子才能拥有类似的东西

Metal  Rock   NumberofTracks  NumberofAlbums
count       12     17     200                12

这是我执行聚合转置的表,以及我使用的代码

Genres     Songs 
Metal      Nothing Else Matters
Metal      Paranoid
Metal      Paranoid
Rock       I Can't Drive 55
Rock       Carry On Wayward Son
Metal      Walk
group=df.groupby('Genres').agg(count=('Songs','count'))
transpose=group.T

假设df1是第一个表的名称,transpose是转置表的名称

transpose.join(df1.set_index(transpose.index))

# Result: 
Metal  Rock  NumberofTracks  NumberofAlbums
count      4     2             200              12

这里,我们使用.set_index()df1的索引设置为数据帧transpose的相同索引。因此,由于具有相同的索引,使得它们能够一起.join()

您可以水平连接数据帧:

pd.concat([df1, df2], axis=1)

但是由于你的索引不同,你可以创建一个默认的

pd.concat([df1.reset_index(drop=True), df2.reset_index(drop=True)], axis= 1)

或将索引从一个数据帧分配给另一个

df1.index = df2.index

pd.concat([df1, df2], axis=1)

最新更新