首页 > 解决方案 > 遍历 DataFrame 并将步骤号分配给具有相同 ID 的行

问题描述

我正在尝试遍历 Pandas 数据框,并添加一个名为“步数”的新列。

有许多不同的 enquiry_id,我想将新 enquiry_id 下的第一个条目分配为 1 的“步骤编号”,然后如果下一行具有相同的查询 id,则为其分配步骤编号的2

然后当有一个新的 enquiry_id时,这将重置为 1 的步数

我不知道如何解决这个问题,有什么想法吗?

谢谢!

下面是显示数据框的屏幕截图。

在此处输入图像描述

标签: pythonpandas

解决方案


如果需要,您可以使用ilocfor循环。虽然我认为这可能会增加时间复杂度。

data= {"Enq_id":[100,101,100,102,101,100],
      "action_date":["012020","022020","032020","042020","052020","062020"]}

df = pd.DataFrame(data)

df["count"]=0

for j in range(len(df.Enq_id)):
    n = df.Enq_id[j]
    c=1
    for i in range(len(df.Enq_id)):
        if (df.Enq_id[i]==n):
            df.iloc[i,2]=c
            c=c+1

在此处输入图像描述


推荐阅读