4

我的问题是:如何有效地从现有 id 列中签署数据唯一 ID 号?例如:我有两列 [household_id] 和 [person_no]。我尝试创建一个新列,查询将是:family_id + '_' + person_no。

这是一个示例:

hh_id       pno  
 682138    1   
 365348    1     
 365348    2

想拿到:

unique_id
682138_1
365348_1
365348_2

并将此 unique_id 添加为新列。我正在应用 Python。我的数据非常大。任何有效的方法都会很棒。谢谢!

4

1 回答 1

6

你可以使用熊猫

假设您的数据在 csv 文件中,请读入数据:

import pandas as pd 

df = pd.read_csv('data.csv', delim_whitespace=True)

创建新的 id 列:

df['unique_id'] = df.hh_id.astype(str) + '_' + df.pno.astype(str)

现在df看起来像这样:

    hh_id  pno unique_id
0  682138    1  682138_1
1  365348    1  365348_1
2  365348    2  365348_2

写回一个 csv 文件:

df.to_csv('out.csv', index=False)

文件内容如下所示:

hh_id,pno,unique_id
682138,1,682138_1
365348,1,365348_1
365348,2,365348_2
于 2016-01-27T23:37:56.320 回答