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检测字符串中是否包含某字符集合中的字符

目的   检测字符串中是否包含某字符集合中的字符 方法   最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 复制代码 代码如下: def containAny(seq,ase...

用Python实现协同过滤的教程

用Python实现协同过滤的教程

协同过滤 在 用户 —— 物品(user - item)的数据关系下很容易收集到一些偏好信息(preference),比如评分。利用这些分散的偏好信息,基于其背后可能存在的关联性,来为用...

python实现守护进程、守护线程、守护非守护并行

守护进程 1、守护子进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError:...

python3使用pandas获取股票数据的方法

python3使用pandas获取股票数据的方法

如下所示: from pandas_datareader import data, wb from datetime import datetime import matplotli...

python解决pandas处理缺失值为空字符串的问题

踩坑记录: 用pandas来做csv的缺失值处理时候发现奇怪BUG,就是excel打开csv文件,明明有的格子没有任何东西,当然,我就想到用pandas的dropna()或者fillna...