尝试加入 2 个数据帧,并将某些数据作为数组存储在一个单元格中

我有以下 3 个数据框:


第一个数据框:


DF1: 


iID data1 data2


10  blue  green


11  red   teal

第二个数据框:


DF2:


iID rH repH


10  50 60 


10  60 70 


11  70 50 

(DF2 每个 iID 可以有 1 行或 2 行)


我希望我的输出 DF 在一个单元格中有一个数组,用于 rH 和 repH


输出将类似于:


输出DF:


iID data1 data2 rH      repH


10  blue  green [50,60] [60,70]


11  red   teal  [70]    [50]


aluckdog
浏览 115回答 2
2回答

冉冉说

国际大学联盟df1.merge(df2.groupby('iID').agg(lambda x : x.tolist()).reset_index())Out[144]:    iID data1  data2        rH      repH0   10  blue  green  [50, 60]  [60, 70]1   11   red   teal      [70]      [50]

慕森卡

值得添加以下附加组件..join,默认情况下是左连接:df1.join(df2)或者 concat,默认是外连接:pd.concat([df1, df2], axis=1)只是添加更多的叙述:>>> df1 = pd.DataFrame({'a':range(6),...                     'b':[5,3,6,9,2,4]}, index=list('abcdef'))>>> df2 = pd.DataFrame({'c':range(4),...                     'd':[10,20,30, 40]}, index=list('abhi'))>>>>>>>>> df1   a  ba  0  5b  1  3c  2  6d  3  9e  4  2f  5  4>>> df2   c   da  0  10b  1  20h  2  30i  3  40>>> df4 = df1.join(df2)>>> df4   a  b    c     da  0  5  0.0  10.0b  1  3  1.0  20.0c  2  6  NaN   NaNd  3  9  NaN   NaNe  4  2  NaN   NaNf  5  4  NaN   NaN
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python