我有两个不同的数据框。第一个是不同请求类型的目录以及我目前有多少请求。
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
另一个是我这个月有多少新请求的数据框。
data2 = {'Req Type': ['A', 'A', 'C', 'B']}
df2 = pd.DataFrame(data2)
print(df2)
Req Type
0 A
1 A
2 C
3 B
我需要在 df2 中创建一个动态索引,它可以检测每种请求类型的最后一个数字是什么并开始求和。示例:A 的最后一个数字是“20”,因此请求类型“A”的索引是“21”,然后是“22”,对于我的所有请求类型也是如此。
Req Type Index
0 A 21
1 A 22
2 C 20
3 B 22
您可以使用字典并一次性更新它:
import pandas as pd
def get_indices(A, B):
res, TN = [], dict(zip(A['Req Type'], A['Req No']))
for t in B['Req Type']:
TN[t] += 1
res += [TN[t]]
B['Index'] = res
return B
A = pd.DataFrame({'Req Type': ['A', 'B', 'C', 'D'], 'Req No': [20, 21, 19, 18]})
B = pd.DataFrame({'Req Type': ['A', 'A', 'C', 'B']})
print(get_indices(A, B))
Req Type Index
0 A 21
1 A 22
2 C 20
3 B 22