Ang*_*a Y 4 python unique-id pandas
我的问题是:如何从现有的 id 列有效地签署数据唯一的 id 号?例如:我有两列 [household_id] 和 [person_no]。我尝试创建一个新列,查询将是:home_id + '_' + person_no。
这是一个示例:
hh_id pno
682138 1
365348 1
365348 2
Run Code Online (Sandbox Code Playgroud)
想拿到:
unique_id
682138_1
365348_1
365348_2
Run Code Online (Sandbox Code Playgroud)
并将此 unique_id 添加为新列。我正在应用 Python。我的数据非常大。任何有效的方法都会很棒。谢谢!
您可以使用熊猫。
假设您的数据在 csv 文件中,请读入数据:
import pandas as pd
df = pd.read_csv('data.csv', delim_whitespace=True)
Run Code Online (Sandbox Code Playgroud)
创建新的 id 列:
df['unique_id'] = df.hh_id.astype(str) + '_' + df.pno.astype(str)
Run Code Online (Sandbox Code Playgroud)
现在df看起来像这样:
hh_id pno unique_id
0 682138 1 682138_1
1 365348 1 365348_1
2 365348 2 365348_2
Run Code Online (Sandbox Code Playgroud)
写回一个 csv 文件:
df.to_csv('out.csv', index=False)
Run Code Online (Sandbox Code Playgroud)
文件内容如下所示:
hh_id,pno,unique_id
682138,1,682138_1
365348,1,365348_1
365348,2,365348_2
Run Code Online (Sandbox Code Playgroud)