1,处理重复数据

  使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True:

  

  对应的,可以使用drop_duplicates来删除重复的行:

  

  以上两个方法,都不能有重复的列

2.map函数:列处理

  map() 是一个Series的函数,DataFrame结构中没有map()。map()将一个自定义函数应用于Series结构中的每个元素(elements)。

  传入一个拉姆达表达式:

  

  可以通过不存在的列名,利用map映射新增一列:(当然,此处map传入的可以是自定义函数,但不能是类似sum这样的UDTF聚合函数,而必须是UDF函数)

  

  其他与apply、applymap等的区别,参考:https://blog.csdn.net/maymay_/article/details/80229053

3.rename函数:替换索引

  使用renname函数替换行索引:(列索引通过columns控制同理,使用一个dict进行映射,包含映射的将会进行映射!)

  

  更加简单粗暴的方法可以直接通过df.index = 赋值操作来进行!

4.异常值检测和过滤

   通过describe查看统计性数值:count——数据量有几个数,mean是平均值,std表示标准差(波动),min/max最小/最大值,中间百分比则是取最小最大值之间的25%、50%等的值

  

  通过std求每一列的标准差:(可以通过axis来控制轴)

  

  通过标准差,借助any()函数(any函数一真即真,有一个True则返回True)来实现过滤

  例如检测大于两倍标准差的:(这里通过控制轴,来取得每个同学而不是每个科目的过滤值)

  

  顺势,就可以过滤数据了:(通过boolean提取数据,参考:https://www.jianshu.com/p/b1be2eccd029

  

5.排序抽样——take函数

  利用随机生成的顺序,结合take取数据:

  

  使用random.randint可以实现随机抽样的效果

6.数据聚合(重点)

  数据聚合通常是数据处理的最后一步,一般是要使每个数组产生唯一的值:

  通常分类涉及到的是:分组—>函数处理——>合并

  使用groupby分组:

  

  打印发现是一个GroupBy的对象,使用groups属性,可以查看分成了哪几个组:

    GroupBy对象的更多操作,参考:https://www.jianshu.com/p/42f1d2909bb6

  

  可以通过筛选的方式,快速求出平均值等操作:(返回的是一个Series)

  

  通过merge,可以整合平均值到原df中去:

  

  通过其他列分组,同理:(如果不选择列,则会对所有能操作的列进行操作,返回一个df结果)

  

  多列分组,同理:

  

 7.高级数据聚合

  可以通过transform和apply实现相同功能,并且,apply可以传入一个匿名函数

  apply和map的区别,参考:https://blog.csdn.net/weixin_39791387/article/details/81487549

              https://www.jianshu.com/p/c384ac86c4a6

  

map() 方法是pandas.series.map()方法, 对DF中的元素级别的操作, 可以对df的某列或某多列, 可以参考文档
apply(func) 是DF的属性, 对DF中的行数据或列数据应用func操作.
applymap(func) 也是DF的属性, 对整个DF所有元素应用func操作

————————————————
版权声明:本文为CSDN博主「诸葛老刘」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39791387/article/details/81487549

  

数据分析入门——pandas数据处理的更多相关文章

  1. 数据分析入门——pandas之Series

    一.介绍 Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具. 官方中文文档:https://www.pypandas.cn ...

  2. 数据分析入门——Pandas类库基础知识

    使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式.Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame. Series Se ...

  3. 数据分析入门——pandas之DataFrame基本概念

    一.介绍 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 可以看作是Series的二维拓展,但是df有行列索引:index.column 推荐参考:https://www. ...

  4. 数据分析入门——pandas之数据合并

    主要分为:级联:pd.concat.pd.append 合并:pd.merge 一.numpy级联的回顾 详细参考numpy章节 https://www.cnblogs.com/jiangbei/p/ ...

  5. 数据分析入门——pandas之DataFrame多层/多级索引与聚合操作

    一.行多层索引 1.隐式创建 在构造函数中给index.colunms等多个数组实现(datafarme与series都可以) df的多级索引创建方法类似: 2.显式创建pd.MultiIndex 其 ...

  6. 数据分析入门——pandas之DataFrame数据丢失

    一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...

  7. 数据分析入门——pandas之合并函数merge

    merge有点类似SQL中的join,可以将不同数据集按照某些字段进行合并,得到新的数据集  1.参数一览表: 2.一对一连接:默认情况下,会按照相同字段的进行连接 例如有相同字段emp的两个df,m ...

  8. Python数据分析入门之pandas基础总结

    Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...

  9. 利用python进行数据分析之pandas入门

    转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5. ...

随机推荐

  1. MySQL/MariaDB数据库的索引工作原理和优化

    MySQL/MariaDB数据库的索引工作原理和优化 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际工作中索引这个技术是影响服务器性能一个非常重要的指标,因此我们得花时间去了 ...

  2. asp.net core 默认采用小驼峰命名和自定义模型验证

    services.AddMvc(options => { options.Filters.Add<ApiExceptionAttribute>(); }).SetCompatibil ...

  3. JSON是什么

    JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度, 那么,JSON到底是什么? JSON就是一串字符串 只不过元素会使 ...

  4. SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)

    1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...

  5. 如何将scratch3.0的作业自动提交到后台数据库

    大家都知道Scratch3.0开发后,默认是可以下载文件到电脑,但是如果是作为商业系统来说,我们需要将作业自动的提交到后台,因此有了这篇文章. 首先,我们来分解下开发步骤: 1.在菜单栏新增一个上传到 ...

  6. Python的logging模块基本用法

    Python 的 logging 模块的简单用法 在服务器部署时,往往都是在后台运行.当程序发生特定的错误时,我希望能够在日志中查询.因此这里熟悉以下 logging 模块的用法. logging 模 ...

  7. ThreadLocal(在一个线程中共享数据)

    ThreadLocal 在"事务传递Connection"参数案例中,我们必须传递Connection对象,才可以完成整个事务操作.如果不传递参数,是否可以完成?在JDK中给我们提 ...

  8. 记一次用pip安装docker-compose报错及解决方法

    Docker-Compose 的安装 方法一 # 下载1.25.0 docker compose sudo curl -L "https://github.com/docker/compos ...

  9. Python开发笔记:网络数据抓取

    网络数据获取(爬取)分为两部分: 1.抓取(抓取网页) · urlib内建模块,特别是urlib.request · Requests第三方库(中小型网络爬虫的开发) · Scrapy框架(大型网络爬 ...

  10. CodeForces - 24D :Broken robot (DP+三对角矩阵高斯消元 随机)

    pro:给定N*M的矩阵,以及初始玩家位置. 规定玩家每次会等概率的向左走,向右走,向下走,原地不动,问走到最后一行的期望.保留4位小数. sol:可以列出方程,高斯消元即可,发现是三角矩阵,O(N* ...