pandas去重复行并分类汇总的实现方法

yipeiwu_com5年前Python基础

今天主要记录一下pandas去重复行以及如何分类汇总。以下面的数据帧作为一个例子: 

import pandas as pd
data=pd.DataFrame({'产品':['A','A','A','A'],'数量':[50,50,30,30]})

pandas判断dataframe是否含有重复行数据用:df.duplicated()

 第一次出现的数据为False.重复的数据行就被记录为True。

去掉重复行数据使用data.drop_duplicates().

 可以看到索引乱了,我们使用data.reset_index(),里面的参数drop=True,表明要舍掉原来的索引,不然的话原来的索引会保留下来。

 分类汇总主要使用groupby(表明汇总的条件列)以及agg(要汇总的字段/列以及汇总的方式:求和还是最大最小值或者计数)。完整代码如下图

# -*- coding: utf-8 -*-
"""
Created on Fri Jul 20 09:08:10 2018
@author: FanXiaoLei
"""
import pandas as pd
data=pd.DataFrame({'产品':['A','A','A','A'],'数量':[50,50,30,30]})
if data.duplicated:
  dataA=data.drop_duplicates().reset_index(drop=True)
print(dataA)
dataB=dataA.groupby(by='产品').agg({'数量':sum})
print('数据汇总结果:')
print(dataB)

结果展示如下图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 使用threading+Queue实现线程池示例

一、线程池 1、为什么需要使用线程池 1.1 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率。 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程...

python列表每个元素同增同减和列表元素去空格的实例

python列表每个元素同增同减和列表元素去空格的实例

如下所示: import os var = [1, 2, 3] data = [x*2 for x in var] print (data) two = [[i, i**2] f...

Python Json模块中dumps、loads、dump、load函数介绍

Python Json模块中dumps、loads、dump、load函数介绍

Json模块dumps、loads、dump、load函数介绍 1、json.dumps()  json.dumps()用于将dict类型的数据转成str,因为如果直接将di...

在类Unix系统上开始Python3编程入门

假设有个python脚本script.py,不管哪种Unix平台,都可以在命令行上通过解释器执行: $ python script.py Unix平台还可以在不明确指定pyth...

深入浅析Python 中的sklearn模型选择

1.主要功能如下: 1.classification分类 2.Regression回归 3.Clustering聚类 4.Dimensionality reduction降维 5.Mo...