登录
首页 >  文章 >  python教程

Pandas数据列添加序号,相同值序号一致

时间:2025-03-31 17:19:11 326浏览 收藏

本文介绍使用Python Pandas库为数据列添加序号的方法,尤其针对连续相同值赋予相同序号的场景。通过结合Pandas和NumPy库,只需几行代码即可实现:首先创建DataFrame,然后利用`df['data'].diff() != 0`.cumsum() 巧妙地计算序号,最终生成一个新的序号列,满足连续相同值序号相同的需求,高效解决数据处理中的常见问题。 文章将详细讲解代码实现及运行结果,帮助读者快速掌握Pandas数据处理技巧。

Python Pandas如何为数据列添加序号,且连续相同值赋予相同序号?

使用Python Pandas为数据列添加序号,并为连续相同的值赋予相同的序号。

许多数据处理任务需要对数据列进行编号,且要求连续相同的数值拥有相同的序号,而不同的数值则序号递增。本文将演示如何利用Python的Pandas库高效地实现此功能。

假设有一列数据:[11, 21, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 23, 26, 26, 26, 26, 20, 26, 26, 26, 26],目标是生成一个序号列,满足连续相同数值拥有相同序号的条件。

我们可以结合Pandas和NumPy库来实现:

import numpy as np
import pandas as pd

data = [11, 21, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 23, 26, 26, 26, 26, 20, 26, 26, 26, 26]
df = pd.DataFrame({'data': data})

df['序号'] = (df['data'].diff() != 0).cumsum()

print(df)

代码首先创建一个包含原始数据列'data'的Pandas DataFrame。df['data'].diff() != 0 计算相邻元素的差值,并判断是否为0(即数据是否变化)。cumsum() 对结果进行累加,生成最终的序号列'序号'。

输出结果:

    data  序号
0     11     1
1     21     2
2     24     3
3     24     3
4     24     3
5     24     3
6     25     4
7     25     4
8     26     5
9     26     5
10    26     5
11    26     5
12    23     6
13    26     7
14    26     7
15    26     7
16    26     7
17    20     8
18    26     9
19    26     9
20    26     9
21    26     9

此方法高效地为数据列添加序号,并确保连续相同的值拥有相同的序号。

到这里,我们也就讲完了《Pandas数据列添加序号,相同值序号一致》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>