当前位置:  开发笔记 > 编程语言 > 正文

pandas:合并数据帧并替换值

如何解决《pandas:合并数据帧并替换值》经验,为你挑选了1个好方法。

我有两个数据帧:

   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

任何想法如何去做?



1> piRSquared..:
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

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有