python - 遍历 DataFrame 并将步骤号分配给具有相同 ID 的行
问题描述
我正在尝试遍历 Pandas 数据框,并添加一个名为“步数”的新列。
有许多不同的 enquiry_id,我想将新 enquiry_id 下的第一个条目分配为 1 的“步骤编号”,然后如果下一行具有相同的查询 id,则为其分配步骤编号的2等
然后当有一个新的 enquiry_id时,这将重置为 1 的步数。
我不知道如何解决这个问题,有什么想法吗?
谢谢!
下面是显示数据框的屏幕截图。
解决方案
如果需要,您可以使用iloc和for循环。虽然我认为这可能会增加时间复杂度。
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
推荐阅读
- java - 给定一个 Java 函数,生成一个命令行包装器 [脚本]
- javascript - 在不带 JQuery 的 JavaScript 中从数组中查找并删除所有非数字
- mysql - 如何对多行求和?
- javascript - 如何使我的 chrome 扩展程序对上次退出的窗口用户打开
- ios - 是否还有其他人在 Xcode 11(和 11.1)中使用 AVAudioPlayer 收到此控制台消息?
- twilio - 具有动态 IP 的 Twilio webhook - 我可以投票吗?
- c++ - 如何在 C++ 中使用数组进行矩阵数学运算
- sql - 使用 Inner Join ON 后如何使用 Case
- java - Eclipse:java.sql.SQLException:用户'root'@'localhost'的访问被拒绝(使用密码:是)
- javascript - 实现三元运算符创建无限循环