"合并" Python中的两列

时间:2016-03-09 20:25:36

标签: python pandas

我有一张带有一个列的列表,其中包含许多个人的名字(有重复),其类型如下:

   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快速方法(第一张表有大约100k的名字,所以我需要它足够快)。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您可以使用合并

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