Python 如何根据ID将数据数组从另一个添加到DF?

Python 如何根据ID将数据数组从另一个添加到DF?,python,pandas,Python,Pandas,如果我有DF1: ID Name 12 Bob 13 John 和DF2: ID Hr Str 12 22 33 12 24 34 13 12 22 输出: DF3: 是否可以使用,但会失去使用连续内存块中的NumPy数组时所附带的矢量化功能: df = df1.join(df2.groupby('ID').agg(list), on='ID') #old pandas version alternative #df = df1.join

如果我有DF1:

ID   Name

12   Bob

13   John
和DF2:

ID   Hr   Str

12   22   33

12   24   34

13   12   22
输出: DF3:

是否可以使用,但会失去使用连续内存块中的NumPy数组时所附带的矢量化功能:

df = df1.join(df2.groupby('ID').agg(list), on='ID')
#old pandas version alternative
#df = df1.join(df2.groupby('ID').agg(lambda x: x.tolist()), on='ID')
print (df)
   ID  Name        Hr       Str
0  12   Bob  [22, 24]  [33, 34]
1  13  John      [12]      [22]

有没有办法只保留数组中的唯一值而不使用集合?我希望它是一个具有唯一值的数组。@JSnoob-当然,使用df=df1.joindf2.groupby'ID'。agcombda x:x.unique.tolist,on='ID'与前面的问题相比有什么不同
df = df1.join(df2.groupby('ID').agg(list), on='ID')
#old pandas version alternative
#df = df1.join(df2.groupby('ID').agg(lambda x: x.tolist()), on='ID')
print (df)
   ID  Name        Hr       Str
0  12   Bob  [22, 24]  [33, 34]
1  13  John      [12]      [22]