python - 删除重复的熊猫仍然保留最后两行
问题描述
所以,我想从中删除重复项,dataframe
但是,当我这样做时,它总是在这件事上保持最后两行相同id
。
当我在命令提示符下的 python 解释器上使用它时,我发现它很有趣,它使用相同的代码获取所有重复项!
但是,当我运行文件时python train.py
,它总是保留最后两个。
文件:
data=pd.read_csv("Employee\Employee.csv")
data.loc[len(data)] = [Id , name, dept, shift] #input data here
print(data)
data=data.drop_duplicates(subset=['Id'],keep='last')
print(data)
fileName="Employee\Employee.csv"
data.to_csv(fileName,index=False)
解决方案
我做愚蠢的事情,但问题是它有效!
只需在下面添加此代码:
data=pd.read_csv(fileName)
data=data.drop_duplicates(subset=['Id'],keep='last')
data.to_csv(fileName,index=False)
所以最终的形式是这样的:
data=pd.read_csv("Employee\Employee.csv")
data.loc[len(data)] = [Id , name, dept, shift] #input data here
print(data)
data=data.drop_duplicates(subset=['Id'],keep='last')
print(data)
fileName="Employee\Employee.csv"
data.to_csv(fileName,index=False)
data=pd.read_csv(fileName)
data=data.drop_duplicates(subset=['Id'],keep='last')
data.to_csv(fileName,index=False)
我知道它看起来像样板代码,但如果有人知道如何做更有意义,如果你在下面发表评论,我会很高兴
推荐阅读
- spring - 在 SpringExtension 之前执行扩展
- asp.net - 会话状态在网络场中只读的影响
- java - 使用 UserType 在 Java 中实现 postgres 中的自定义类数组
- php - 生成连续唯一值的最佳方法
- python-3.x - OSError: [Errno 12] 无法分配内存 pytesseract
- python - 摆脱多列熊猫数据框中的异常值行
- java - 无法从 True 获取根节点值。而是给出最后一个节点的值
- pivot-table - 最后一个值和空白日期来自哪里?
- winforms - 用于生产 Windows 窗体的 ConnectionString
- python - 如何调用类来制作子图