OUTLINE

  • 数据准备
  • 问题描述
  • 解决方案

数据准备

假设我们目前有两个数据表:
① 一个数据表是关于三个人他们的id以及其他的几列属性信息

import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randint(low=1,high=20,size=(3,4)))
data['id'] = range(1,4)
# 输出:其中,最左边的0 1 2 为其索引

② 另外一个数据表是3个用户的app操作日志信息,一个人会有多条app操作记录

sample = pd.DataFrame(np.random.randint(low=1,high=9,size=(7,1)),columns=['hhh'])
sample['id'] = [1,1,2,2,3,3,3]
# 输出:

问题描述

① 首先我们需要统计每个用户app操作记录数,比如上表可以看出用户id为1的用户有2条操作记录,用户id为3的用户有3条操作记录

s = sample.groupby('id').count()
# 输出:

② 此时,S是一个以id为索引,count出来的记录数为value的Series结构。因为考虑到后面我们需要id列进行merge,所以我们需要让id列从索引列变成真实的一列。

s = s.reset_index()
# 输出:

③ 将S与最上的data表进行merge,我们不想要看到重复的id列,甚至我们也可以将问题延伸为S与data表不止是id列的重复,还有好多条其他的列的重复,那么如何保证将它们merge之后没有重复列呢?

解决方案

第一想法是用 DataFrame.drop(‘列名’) 或者用 del DataFrame[‘列名’]
但是如果用该方法,会删除掉所有的重复列,而达不到我们的要求。

办法是:
参考StackOverflow解答

cols_to_use = s.columns.difference(data.columns) # pandas版本在0.15及之上的都可以用这种方法,该方法找出S和data表的不同列,然后再进行merge
pd.merge(data, s[cols_to_use], left_index=True, right_index=True, how='outer')

pandas去除重复列相关推荐

  1. sqlserver 去除 重复列 [行]

    有重复数据主要有一下几种情况: 1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 example: select distinct * from table(表名) ...

  2. sql查询语句去除重复列(行)

    有重复数据主要有一下几种情况: 1.存在两条完全相同的纪录         这是最简单的一种情况,用关键字distinct就可以去掉 example: select distinct * from t ...

  3. mysql如何实现全外连接并去除重复列?

    MySQL如何实现全连接,并将冗余的列合并在一起 ent_name a_attr1 a_attr2 a_attr3e1 5 6 2020.1.2e2 8 9 2020.2.6e4 4 3 2019.1 ...

  4. pandas去除两列中同一行有相同元素的数据——数据分析必备技能(5)

    废话不多说,直接跟小编进入今天的正文. 假设现在有一数据集,如下: import pandas as pdname = ['bob', 'mike','lisa','jay','alen','book ...

  5. mysql sql 去除重复行_SQL查询语句去除重复行

    1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录 ...

  6. python统计excel中重复数据_Python中用pandas对标Excel自带功能——去除重复项

    经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死.后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器-- pandas 前言 有时候数据中出 ...

  7. Pandas之drop_duplicates:去除重复项

    前言 本文,我们讲述Pandas如何去除重复项的操作,我们选择一个评价数据集来演示如何删除特定列上的重复项,如何删除重复项并保留最后一次出现,以及drop_duplicates的默认用法 方法 Dat ...

  8. Pandas 模块-操纵数据(8)-去除重复行 .drop_duplicates()

    目录 8. 去除重复行 .drop_duplicates() 8.1 .drop_duplicates() 语法 8.1.1 .drop_duplicates() 语法结构 8.1.2 .drop_d ...

  9. pandas数据分析实战之去除重复值

    Pandas指定行进行去重更新值 加载数据 sample抽样函数 指定需要更新的值 append直接添加 append函数用法 根据某一列key值进行去重(key唯一) 加载数据 首先,我们需要加载到 ...

最新文章

  1. android 在使用ViewAnimationUtils.createCircularReveal()无法兼容低版本的情况下,另行实现圆形scale动画...
  2. 2016年3月9日作业
  3. Linux 内核详解以及内核缓冲区技术
  4. 超级强大的心理定律~~!你可以变成你想要的样子!~
  5. Java集合(1)--集合概述
  6. TFIDF java实现
  7. 微服务架构 vs SOA架构
  8. 正点原子STM32串口通讯实验详解
  9. html+浏览器自动全屏,web 使网站在浏览器中全屏显示 fullscreen=yes
  10. java uml建模工具 apk,UML建模工具(Astah Professional)
  11. 将WinPE安装至硬盘
  12. 网络工程师中级(知识产权与标准化)
  13. 拼多多增长黑客模式实战
  14. 单周期CPU实验之学习之旅
  15. 收入结算与提现常见问题( iOS )
  16. Paul Graham:为什么在经济危机中创业?
  17. 开放地理空间信息联盟(OGC)简介
  18. CommandName属性和CommandArgument属性[转]
  19. 三子棋——可修改为多子棋
  20. 废除闰秒真的有必要吗?不废除会有哪些影响?

热门文章

  1. C语言案例教学设计论文,C语言教学设计本科教学论文
  2. 【测试记录】基于pdf论文提取论文doi—pdf2doi包的安装与使用
  3. wps怎么画网络图_wps 流程图怎么画 WPS流程图绘制图解教程
  4. [c++] 计算太阳高度角
  5. 微信小游戏开发新手教程14-整合到一起,做出你的小游戏
  6. elasticsearch学习笔记--聚合函数篇
  7. AutoSAR系列讲解(实践篇)10.2-EcuM的上下电流程
  8. 【数据分析】业务分析中常见模型-漏斗模型
  9. 城市名字 按a-z排序
  10. 用MySQL绘制新年祝福图形_qq空间留言代码之新年祝福篇