在Python-Pandas中,假设我有两个DataFrames
A = pd.DataFrame({'key1': np.random.randint(4, size=10), 'val1': np.random.rand(10) })
B = pd.DataFrame({'key1': np.random.randint(4, size=10), 'val2': np.random.rand(10) })
我想在B中添加一列,它是按每个键分组的A中'val1'值的平均值(键指的是A和B中的相同索引)。最好的方法是什么?
这对我有用
A1 = A.groupby('key1')['val1'].mean().reset_index()
B.merge(A1 , on='key1', how='left', sort=False, right_index=True)
答案 0 :(得分:0)
你的意思是这样吗?
A1 = A.groupby('key1').mean().reset_index()
pd.merge(B, A1, on='key1')