如下图:
利用pandas去重

最近遇到一个这样的问题,单号相同的记录里面只保留第一条数据的重量,数据量有上万条,显然是不能手工删除得了,excel里面有没得满足类似需求得函数也不是很清楚,怎么办呢?当然是pandas闪亮登场啦~

这个思路很简单,就是和上一行单号相同的话,就删除当前行的重量

关键就是怎么读取/修改/保存数据,以及读出来的数据是怎么样的,怎么遍历这些问题,参考了一下万能的哔哩哔哩, 看了2/3/4/5 这个问题就迎刃而解啦~~~

直接上代码:

# -*- coding: utf-8 -*-
"""
@author: Jonathan
"""

import pandas as pd  # 导入python的数据处理扩展包pandas,并重命名为pd,该包用于读写excel文件

# pd.Series,pd.DataFrame
data = pd.read_excel('test.xlsx')
data = pd.DataFrame(data)
for i in range(len(data)):
    count = i + 1
    while count < len(data):
        # 和上一行单号相同的话,就删除当前行的重量
        # 当然考虑效率提升的话,结束while循环的时候,可以让i从count出开始执行,这里就不考虑啦
        if data.loc[count]['单号'] == data.loc[i]['单号']:
            data.loc[count, '重量'] = ''
            count += 1
        else:
            break
data.to_excel('new.xlsx')

下面是运行结果:
利用pandas去重

相关文章:

  • 2022-02-09
  • 2022-12-23
  • 2022-02-20
  • 2021-06-17
  • 2021-12-02
  • 2022-12-23
  • 2021-11-22
猜你喜欢
  • 2022-12-23
  • 2021-09-08
  • 2022-12-23
  • 2022-01-25
  • 2022-02-09
  • 2021-12-25
  • 2021-06-29
相关资源
相似解决方案