Python 如何根据ID将数据数组从另一个添加到DF?
如果我有DF1: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
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]