我有两个数据帧:
A = pd.DataFrame(data=np.array([['t1',1,'t2',2]]).reshape(2,2),columns=['a','b']) A Out[6]: a b 0 t1 1 1 t2 2 B = pd.DataFrame(data=np.array([[1,2,3],[2,5,6],[3,6,7]]).reshape(3,3),columns=['x','y','z']) B Out[8]: x y z 0 1 2 3 1 2 5 6 2 3 6 7
我试图基本匹配列'b'数据帧A上的数据帧B的列'x',但将匹配的值替换为数据帧A的列'a'.
即我想合并两个数据帧,以便输出如下所示:
x y z 0 t1 2 3 1 t2 5 6 2 3 6 7
任何想法如何去做?
B.loc[B.x.astype(str).isin(A.b), 'x'] = A.a B x y z 0 t1 2 3 1 t2 5 6 2 3 6 7