在Python中“合并”两列

2024-05-15 15:55:54 发布

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

我有一张单子,上面有一列,上面有很多人的名字(有重复的部分),类型如下:

   Name
Jackson Alan
Wilson Pete
Williamson Tom
...
Williamson Tom
...
Peterson Alan

在另一张纸上,我有两列:一列是所有这些人(这次只一次),另一列是与这些球员相关的分数:

     Name           Score
Williamson Tom       85
     ...
Jackson Alan         90
Wilson Pete          80
Peterson Alan        70

我想把每个人的分数和他们在第一张纸上的名字联系起来,结果如下:

  Name             Score
Jackson Alan        90
Wilson Pete         80
Williamson Tom      85
...
Williamson Tom      85
...
Peterson Alan       70

你能给我推荐一个用Python处理pandas的快速方法吗(第一页有大约10万个名字,所以我需要它足够快)。提前谢谢。你知道吗


Tags: name类型pandas名字分数单子score球员
1条回答
网友
1楼 · 发布于 2024-05-15 15:55:54

如果我没弄错你的问题,你可以用merge

import pandas as pd
names = pd.DataFrame(['A', 'B', 'A', 'C'], columns=['names'])
names_scores = pd.DataFrame([('A', 1), ('B', 2), ('C', 3)], columns=['names', 'scores'])
names.merge(names_scores, left_on='names', right_on='names', how='outer')

(对于各种连接逻辑,您可以更改“外部”、“内部”等的方式)

这会给你

  names  scores
0     A       1
1     A       1
2     B       2
3     C       3

相关问题 更多 >