如何将一个数据帧df(有两列)映射到另一个数据帧df1(有三列)并更新i

2024-04-19 13:49:59 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个带有值的df1

      0                1
0  abc def          unknown
1  uvw xyz          unknown
2  cricket ball     unknown
3  tennis racket    unknown

和df2的值

     0        0         1
0   abc      def     password
1   cricket  ball    password1
2   tennis  racket   password2






.....

22610   uvw      xyz     password3

应使用0值映射df1和df2,并更新df1中的1列

输出应为

      0                1
0  abc def         | password
1  uvw xyz         | password3
2  cricket ball   | password1
3  tennis racket  | password2

Tags: defpasswordunknowndf1df2abcxyzball
1条回答
网友
1楼 · 发布于 2024-04-19 13:49:59

你需要:

在df2中创建新列,其中包含两列的串联以与df1列匹配:

df2['concat']= df2[0]+str(' ')+df2[0]
# added space to match with df1 and drop the df2[0] columns

将df1[0]的列名重命名为“concat”:

df1.rename({0:'concat'},inplace =True,axis=1)

使用熊猫的合并方法:

df1.merge(df2,on='concat')

你会得到预期的结果。你知道吗

相关问题 更多 >