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

yipeiwu_com6年前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 matlibplot绘制多条曲线图

python matlibplot绘制多条曲线图

这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy...

Python中zfill()方法的使用教程

 zfill()方法用零垫串来填充左边宽度。 语法 以下是zfill()方法的语法: str.zfill(width) 参数    ...

python3 线性回归验证方法

如下所示: #-*- coding: utf-8 -*- import pandas as pd import numpy as np from patsy.highlevel im...

详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)

详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)

 思维导图: 效果(语句版): 源码: # -*- coding: utf-8 -*- """ Created on Tue Mar 5 17:59:29 2019 @...

python算法表示概念扫盲教程

python算法表示概念扫盲教程

本文为大家讲解了python算法表示概念,供大家参考,具体内容如下 常数阶O(1) 常数又称定数,是指一个数值不变的常量,与之相反的是变量 为什么下面算法的时间复杂度不是O(3),而是O...