python - 编辑实体时如何删除重复项而不替换原件?
问题描述
考虑到我们有一个代表一些购买的数据集。一起购买的产品具有相同的购物篮 ID。
当购买的产品被编辑(例如,最初插入错误的价格)时,它不会替换原始记录。而是为该购物篮 ID的每个产品创建一条新记录,并为购买分配一个新的购物篮 ID。
例如,考虑购买一瓶牛奶和一块巧克力:
Product Price BasketID PreviousBasketID
0 Milk 2 1234 Null
1 Chocolate 3 1234 Null
假设我们想编辑巧克力的价格。那么数据集将是:
Product Price BasketID PreviousBasketID
0 Milk 2 1234 Null
1 Chocolate 3 1234 Null
2 Milk 2 5678 1234
3 Chocolate 4 5678 1234
有没有办法只保留最新版本的篮子(即 BasketID = 5678)并摆脱任何以前的版本?
解决方案
您可以删除任何BasketID
出现在 中的行PreviousBasketID
吗?
就像是:
df = df[~df["BasketID"].isin(df["PreviousBasketID"])]
这里的~
意思是按位不。请参阅此处了解更多信息。
推荐阅读
- swift - SwiftUI:为什么我不能在一个 HStack 中有多个 TextField?
- python - 从 matlab 获取一组 3D 子图?
- java - ReplaceAll Regex:替换前更新组
- c++ - 我的随机数生成器出现问题,数字超出范围
- excel - 如何将表格和书签插入Word,每页一个
- javascript - 问题如何使用cheerio获取具有沙盒元素的iframe的src
- spyder - 如何将配色方案导入 Spyder 4?
- mongodb - 如何访问每个 docker 容器
- ssh - 我正在尝试在 github 上创建一个新存储库,但无法获取我的 ssh 密钥
- javascript - 谷歌折线图 - 如何将数据显示到折线图