pandas如何基于函数返回的整数变量创建DataFrame递增列
pandas 基于给定起始整数生成逐行递增列的实现
核心逻辑是生成和DataFrame行数等长的连续整数序列,基于你拿到的起始值做偏移即可,无需逐行循环赋值,执行效率更高。
- 假设你从函数获取到的整数变量为
start_num = 201,待处理的DataFrame名为df,直接运行以下代码即可生成目标列:
# 新列从起始值+1(即202)开始,逐行递增1 df["New column"] = range(start_num + 1, start_num + 1 + len(df))
- 如果你日常使用numpy做数值计算,也可以用
np.arange实现,效果完全一致:
import numpy as np df["New column"] = start_num + 1 + np.arange(len(df))
执行后输出结果和预期完全匹配:
| Stores | New column |
|---|---|
| Marcos Store | 202 |
| Lais Store | 203 |
| Carol Store | 204 |
| Ana Store | 205 |
| Maria Store | 206 |
说明:即使你的DataFrame经过筛选、索引不是从0开始的连续值,上述两种写法依然可以正常工作,序列会严格按照DataFrame当前的行顺序逐行递增,不会受原有索引数值干扰。
内容的提问来源于stack exchange,提问作者Caroline Leite
相关产品推荐
相关产品推荐

