zoukankan      html  css  js  c++  java
  • 利用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')
    
    

    下面是运行结果:

  • 相关阅读:
    毕业设计进度16
    毕业设计进度15
    毕业设计进度14
    毕业设计进度13
    毕业设计进度12
    毕业设计进度11
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    Media Queries详解
    css 选择器
    css内容样式属性
  • 原文地址:https://www.cnblogs.com/d9e84208/p/12939320.html
Copyright © 2011-2022 走看看