对于第 1 列中的每个 x,在第 2 列中放置一个 y

For each x in column 1, put a y in column 2

我在两个单独的 excel 工作簿中有两个单独的列 namesIDs

Column 1 
     
550

550

450

550 


Column 2 (in a different excel workbook)

Jane

Bob

在新的 excel 工作簿中,我想为 nameID 创建两个单独的列。对于第 1 列中的每 550 个,我想将 'Jane' 放在第 2 列中,对于第 2 列中的 450 个,我想将 Bob.我还没有起草工作代码,有没有简单的方法可以做到这一点?

有几种方法可以做到这一点。如果您是 Python/Pandas 的新手,我会做一些简单的事情,比如将您的 id 列复制到一个名为 name 的新列中,然后替换值。

这是它的样子:

import pandas as pd

### Make up data, you would probably just 
### import this from your Excel file
colA = [550, 550, 450, 550]
df = pd.DataFrame(list(zip(colA)), columns =['ids']) 

df['names'] = df['ids']
df.replace({'names': {550: 'Bob', 450: 'Jane'}}, inplace=True)
display(df)

另一种方式,如评论中所述,是用字典来“映射”它:

mydict = {550:'Bob', 450:'Jane'}
df['using_map'] = df['ids'].map(mydict)
display(df)