根据2个相等条件,将数据框中的值替换为其他数据框中的值

时间:2018-12-17 13:36:32

标签: python pandas numpy replace where-clause


我试图找到解决方案,但无法到达目的地。
我有2个数据帧,一个大的有几千条记录,另一个有几行是例外-分别称为A和B。

A和B的列分别为“月”,“镇”和“居民”。

我的目标是覆盖表A中“居民”列的值,并使用表B中针对“月”和“镇”列匹配的情况的“居民”值-有点像SQL中的联接。 / p>

我试图在一个Numpy的地方做到这一点。语句,但出现了一些错误-例如“ ValueError:只能比较标记相同的Series对象”。

关于如何解决它的任何想法?

1 个答案:

答案 0 :(得分:1)

要进行联接,可以使用合并:     C = A.merge(B,how ='left',on = ['Month','Town'])

然后,由于两者都具有Residents列,合并将自动添加默认值('_x','_ y')。如果出现以下情况,则可以使用Residents创建新的_y列:

C['Residents'] = C['Residents_y'].fillna(C['Residents_x']