Pandas - 根据行值生成唯一 ID

pandas

1个回答

写回答

Lidonghang82

2025-07-06 23:00

+ 关注

Pandas
Pandas

Pandas - 根据行值生成唯一 ID

在数据处理和分析的过程中,我们经常需要为数据集中的每一行生成一个唯一的 ID。这样的 ID 可以帮助我们在后续的分析和处理中更轻松地追踪和定位特定的数据行。在 Pandas 中,我们可以使用一些方法来实现这个目标。

方法一:使用索引值生成唯一 ID

最简单的方法是使用数据集的索引值作为唯一 ID。Pandas 中的索引值是默认生成的,并且在数据集中是唯一的。因此,我们可以直接使用索引值作为唯一 ID。

下面是一个使用索引值生成唯一 ID 的案例代码:

Python

import Pandas as pd

# 创建一个示例数据集

data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],

'Age': [20, 21, 19, 20],

'City': ['New York', 'Paris', 'London', 'New York']}

df = pd.DataFrame(data)

# 使用索引值生成唯一 ID

df['ID'] = df.index

print(df)

运行上述代码,我们可以得到以下输出结果:

Name Age City ID

0 Tom 20 New York 0

1 Nick 21 Paris 1

2 John 19 London 2

3 Tom 20 New York 3

从输出结果可以看出,我们成功地使用索引值为数据集的每一行生成了唯一的 ID。

方法二:使用 UUID 生成唯一 ID

另一种常见的方法是使用 UUID(Universally Unique Identifier)来生成唯一 ID。UUID 是一个标准的 128 位数值,在理论上是唯一的。Pandas 中可以使用第三方库 uuid 来生成 UUID。

下面是一个使用 UUID 生成唯一 ID 的案例代码:

Python

import Pandas as pd

import uuid

# 创建一个示例数据集

data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],

'Age': [20, 21, 19, 20],

'City': ['New York', 'Paris', 'London', 'New York']}

df = pd.DataFrame(data)

# 使用 UUID 生成唯一 ID

df['ID'] = df.apply(lambda _: uuid.uuid4(), axis=1)

print(df)

运行上述代码,我们可以得到以下输出结果:

Name Age City ID

0 Tom 20 New York d3e6e2f5-3ce0-4d2c-8c8d-8b6b2b5c9c8d

1 Nick 21 Paris 5fd4e6d7-4a70-4ef0-82d6-4a1c7f5a0d62

2 John 19 London 0e7c4ae5-9e8c-4e31-bf81-71d2b63c9c50

3 Tom 20 New York 7d4f9a54-3e2e-4f1b-9bdc-5b8e2e0c7e52

从输出结果可以看出,我们使用 UUID 成功地为数据集的每一行生成了唯一的 ID。

通过使用索引值或 UUID,我们可以很方便地为 Pandas 数据集中的每一行生成唯一的 ID。这些 ID 可以帮助我们更好地追踪和定位特定的数据行,为后续的数据处理和分析提供便利。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号