从现有的两列python中创建唯一的ID

时间:2022-11-25 12:58:50

My question is: how to efficiently sign data unique id numbers from existing id columns? For example: I have two columns [household_id], and [person_no]. I try to make a new column, the query would be: household_id + '_' + person_no.

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

here is a sample:

这是一个示例:

hh_id       pno  
 682138    1   
 365348    1     
 365348    2

try to get:

想拿到:

unique_id
682138_1
365348_1
365348_2

and add this unique_id as a new column. I am applying Python. My data is very large. Any efficient way to do it would be great. Thanks!

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

1 个解决方案

#1


2  

You can use pandas.

你可以使用熊猫。

Assuming your data is in a csv file, read in the data:

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

import pandas as pd 

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

Create the new id column:

创建新的id列:

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

Now df looks like this:

现在df看起来像这样:

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

Write back to a csv file:

写回csv文件:

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

The file content looks like this:

文件内容如下所示:

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

#1


2  

You can use pandas.

你可以使用熊猫。

Assuming your data is in a csv file, read in the data:

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

import pandas as pd 

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

Create the new id column:

创建新的id列:

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

Now df looks like this:

现在df看起来像这样:

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

Write back to a csv file:

写回csv文件:

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

The file content looks like this:

文件内容如下所示:

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