📜  为 df 的每行创建 uuid (1)

📅  最后修改于: 2023-12-03 15:06:15.799000             🧑  作者: Mango

为 df 的每行创建 UUID

在数据处理的项目中,我们有时会需要为每行数据创建唯一的标识符。一个常见的标识符是 UUID(通用唯一标识符),它可以在分布式系统中确保唯一性。

本文将介绍如何使用 Python 的 uuid 模块为 Pandas DataFrame 的每行数据创建 UUID,并将结果作为新的一列添加到 DataFrame 中。

首先,我们需要导入 Pandas 和 uuid 模块:

import pandas as pd
import uuid

接下来,我们可以创建一个示例 DataFrame:

data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35]
}
df = pd.DataFrame(data)

现在,我们来创建一个函数,它将用于为每行数据生成 UUID:

def create_uuid(row):
    return str(uuid.uuid4())

该函数接受 DataFrame 的一行作为输入,并返回一个唯一的字符串表示该行的 UUID。

接下来,我们可以使用 Pandas 的 apply 方法遍历 DataFrame 的每行,并在每行上调用 create_uuid 函数:

df['uuid'] = df.apply(create_uuid, axis=1)

apply 方法接受一个函数和一个 axis 参数。这里,我们将 create_uuid 函数作为输入函数,并指定 axis=1,表示对每行进行操作。apply 方法返回一个新的 Series 对象,其中每个元素都是一个 UUID。

最后,我们可以打印 DataFrame 来查看结果:

print(df)

输出如下:

       name  age                                  uuid
0     Alice   25  76c81ab0-72bb-401d-9d15-cf33b8f2bdef
1       Bob   30  60bc8ec8-42e5-46d9-ac0e-8baae403fa04
2  Charlie   35  75f8a285-059c-4d2e-9f0d-eaf34dfb73e3

我们可以看到,uuid 列已经被添加到了 DataFrame 中,并包含了一组唯一标识符。

在这个示例中,我们演示了如何为 DataFrame 的每行数据创建 UUID,这可能在分布式系统中非常有用,可以确保数据的唯一性。