0
在Python的大熊猫之一,可以说,我有两个DataFrames合并使用上一列的聚合两个DataFrames在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)
是否第二线合并成A1 B,或是否需要说'B = pd.merge(B,A1,对= 'KEY1')' – user3487187
@ user3487187不执行合并“IN-地方“,不。你必须分配它。 – chrisaycock
谢谢。几个后续步骤:a)如果'val2'实际上在B中被称为'val1'会怎么样?有没有办法给val1的不同名称的意思? b)如果B中有一些不在A中的键怎么办......有没有办法为那些缺失的键分配mean(val1)= 0,以便不会丢失B中的条目 – user3487187