You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于请求目录DataFrame为新增请求DataFrame创建动态索引?

基于已有请求编号生成新增请求的递增索引

现有数据

1. 请求类型目录(记录各类型最新编号)

这是存储各请求类型当前最新编号的DataFrame:

import pandas as pd

data = {'Req Type': ['A', 'B', 'C', 'D'], 'Req No': [20, 21, 19, 18]}
df1 = pd.DataFrame(data)
print(df1)

输出结果:

Req Type  Req No
0         A      20
1         B      21
2         C      19
3         D      18

2. 本月新增请求记录

这是记录本月新增请求的DataFrame,仅包含请求类型:

data2 = {'Req Type': ['A', 'A', 'C', 'B']}
df2 = pd.DataFrame(data2)
print(df2)

输出结果:

Req Type
0         A
1         A
2         C
3         B

需求

需要在df2中新增一列Index,根据df1中对应请求类型的最新编号,为每个新增请求生成依次递增的编号。最终期望效果如下:

Req Type  Index
0         A     21
1         A     22
2         C     20
3         B     22

实现代码

# 把df1转换为请求类型到最新编号的映射字典
req_type_to_last_no = df1.set_index('Req Type')['Req No'].to_dict()

# 按请求类型分组,计算每组内的累计序号(从1开始),再加上对应类型的最新编号
df2['Index'] = df2.groupby('Req Type').cumcount() + 1 + df2['Req Type'].map(req_type_to_last_no)

# 查看结果
print(df2)

代码说明

  1. 首先将df1转换为字典,方便快速查找每个请求类型的最新编号;
  2. 使用groupby('Req Type').cumcount()获取每个请求类型组内的行索引(从0开始),加1后得到该组内的递增序号;
  3. 将序号与对应类型的最新编号相加,得到最终的Index值。

内容的提问来源于stack exchange,提问作者Amaury Pedraza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:35:05