如何在Pandas DataFrame中为行分配从1开始的递增行号?
为Pandas DataFrame添加从1开始的递增行号列
你有如下DataFrame:
import pandas as pd data = [291.79, 499.31, 810.93, 1164.25] df = pd.DataFrame(data, columns=['Onset'])
需要为每一行分配从1开始的递增行号并生成名为TR的列,这里提供几种简单高效的实现方式:
方法1:用range()直接生成序列
构造和DataFrame行数一致、从1起始的整数序列,直接赋值给新列:
df['TR'] = range(1, len(df) + 1)
方法2:基于默认索引转换
Pandas默认索引从0开始,给索引值加1即可得到从1开始的行号:
df['TR'] = df.index + 1
方法3:重置索引后转换(适配非连续原索引场景)
如果原DataFrame的索引不是连续的0起始序列,可先重置索引再转换:
df['TR'] = df.reset_index(drop=True).index + 1
执行任意一种方法后,都会得到你期望的结果:
print(df) # Onset TR # 0 291.79 1 # 1 499.31 2 # 2 810.93 3 # 3 1164.25 4
内容的提问来源于stack exchange,提问作者jo_
相关产品推荐
相关产品推荐

