数学建模美赛大数据分析题必须要会的python函数操作!!!

这里以2020年美赛C题为例,用实战进行数据处理的学习。

其数据已经上传到了这里,可以自行下载:数学建模美赛2020C题数据以及优秀o奖论文

Merge操作

首先我们自己创建一些小数据来直观的看一下操作。



现在按照key 列把两份数据整合在一起了,key列在 left 和right 两份数据中恰好都一样,试想∶如果不相同,结果会发生变化吗?

细心的读者应该发现,两份数据key1列和key2列的前3行都相同,但是第4行的值不同,这会对结果产生什么影响吗?


输出结果显示前3行相同的都组合在一起了,但是第 4行却被直接抛弃了。如果想考虑所有的结果,还需要额外设置一个 how 参数∶

也可以单独设置只考虑左边数据或者只考虑右边数据,说白了就是以谁为准∶

排序操作

这里我们先建一个简单的DataFrame

排序的时候,可以指定升序或者降序,并且还可以指定按照多个指标排序∶


上述操作表示首先对 group 列按照降序进行排列,在此基础上保持data列是升序排列,其中 by参数用于设置要排序的列,ascending 参数用于设置升降序。

数据去重

拿到一份数据之后,经常会遇到数据不干净的现象,即里面可能存在缺失值或者重复片段,这就需要先进行预处理操作。再来创建一组数据,如果有重复部分,也可以直接用乘法来创建一组数据∶

此时数据中有几条完全相同的,可以使用 drop_duplicates()函数去掉多余的数据∶

也可以只考虑某一列的重复情况,其他全部舍弃∶

添加数据

如果要往数据中添加新的列呢?可以直接指定新的列名或者使用 assign()函数∶

缺失值处理

数据处理过程中经常会遇到缺失值,Pandas中一般用NaN来表示(Not a Number),拿到数据之后,通常会先看数据的缺失情况。
在创建的时候加入两个缺失值,可以直接通过isnull()函数判断所有缺失情况∶


输出结果显示了全部数据缺失情况,其中 True 代表数据缺失。如果数据量较大,总不能一行一行来核对,更多的时候,我们想知道某列是否存在缺失值∶


其中any()函数相当于只要有一个缺失值就意味着存在缺失情况,当然也可以自己指定检查的维度∶


遇到缺失值不要紧,可以选择填充方法来改善,之后会处理实际数据集的缺失问题,这里只做简单举例∶


通过 fillna()函数可以对缺失值进行填充,这里只选择一个数值,实际中更常使用的是均值、中位数等指标,还需要根据具体问题具体分析。

apply自定义函数

接下来又是重磅嘉宾出场了,apply()函数可是一个"神器",如果你想要完成的任务没办法直接实现,就需要使用 apply 自定义函数功能,还是先来看看其用法∶



上述操作首先定义了一个映射函数,如果想要改变 food列中的所有值,在已经给出映射方法的情况下,如何在数据中执行这个函数,以便改变所有数据呢?是不是要写一个循环来遍历每一条数据呢?肯定不是的,只需调用 apply()函数即可完成全部操作。

可以看到,apply()函数使用起来非常简单,需要先写好要执行操作的函数,接下来直接调用即可,相当于对数据中所有样本都执行这样的操作,下面继续拿泰坦尼克号数据来试试 apply()函数∶

时间操作

在机器学习建模中,从始至终都是尽可能多地利用数据所提供的信息,当然时间特征也不例外。当拿到一份时间特征时,最好还是将其转换成标准格式,这样在提取特征时更方便一些∶


时间特征只需要满足标准格式就可以调用各种函数和属性了,上述操作通过时间提取了当前具体的年、月、日等指标。


一旦转换成标准格式,注意其dtype类型,就可以调用各种属性进行统计分析了∶


如果数据中没有给定具体的时间特征,也可以自己来创建,例如知道数据的采集时间,并且每条数据都是固定时间间隔保存下来的∶


读取数据时,如果想以时间特征为索引,可以将 parse dates 参数设置为 True∶


有了索引后,就可以用它来取数据啦∶


也用 data【'2012-01’∶2012-03】指定具体月份,或者更细致一些,在小时上继续进行判断,如data【(data. index.hour > 8) &(data.index.hour <12)]。
下面再介绍一个重量级的家伙,在处理时间特征时候经常会用到它——resample重采样,先来看看执行结果∶


原始数据中每天都有好几条数据,但是这里想统计的是每天的平均指标,当然也可以计算其最大值、最小值,只需把 .mean()换成 .max()或者.min()即可。
例如想按 3天为一个周期进行统计∶

按月进行统计也是同理∶


时间数据可以提取出非常丰富的特征,不仅有年、月、日等常规指标,还可以判断是否是周末、工作日、上下旬、上下班时间、节假日等特征,这些特征对数据挖掘任务都是十分有帮助的。

这只是一部分,新一部分马上就出,欢迎关注

  • 数学建模博客专栏
  • 数据分析专栏
  • Python基础专栏
  • 机器学习专栏
  • 深度学习专栏

大数据分析必须要会的python函数操作!!!相关推荐

  1. 【大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析

    [大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析-哔哩哔哩https://b23.tv/saIKtBH flask web框架,数据使用requests模块爬取数据, ...

  2. 【大数据分析专业毕设之基于python的手机销售大数据分析可视化系统】

    [大数据分析专业毕设之基于python的手机销售大数据分析可视化系统] https://b23.tv/FKuPbsv flask web框架,数据使用requests模块爬取https://www.j ...

  3. 基金大数据分析及基金投资建议(Python与Excel实现)

    如果需要转载本文或者需要相关的数据资料,请与我联系.邮箱:18588809730@163.com 一.目标确定 本次主要通过对基金进行大数据分析,了解目前开放型基金的现状,同时对基金的评级及回报率等相 ...

  4. python大数据分析基础教程_基于Python的大数据分析基础及实战

    第1部分 基 础 篇 第1章 Python语言基础 /2 1.0 引子 /2 1.1 工欲善其事,必先利其器(安装Python) /3 1.2 学跑得先学走(语法基础) /9 1.3 程序结构 /11 ...

  5. python爬虫和数据分析电脑推荐_大数据分析必备的5款Python爬虫库

    在数据科学或人工智能领域,除了算法之外,最重要的应该是数据了.甚至可以说一个模型到最后决定其准确度的往往不是算法而是数据.在现实中,缺少足够的数据成了数据分析师获得优秀模型的主要阻碍.可喜的是,现在网 ...

  6. python spark进行大数据分析_第2天Python实战Spark大数据分析及调度-RDD编程

    Spark提供的主要抽象是resilient distributed dataset(RDD)弹性分布式数据集,它是跨集群节点划分的元素的集合,可以并行操作.通过从Hadoop文件系统(或任何其他Ha ...

  7. 【毕业设计】大数据分析的航空公司客户价值分析 - python

    文章目录 0 前言 1 数据分析背景 2 分析策略 2.1 航空公司客户价值分析的LRFMC模型 2.2 数据 2.3 分析模型 3 开始分析 3.1 数据预处理 3.1.1 数据预览 3.1.2 数 ...

  8. 大数据分析必须要会的数据预处理操作(二)!!!

    数学建模美赛大数据题必须要会的数据预处理操作(二)!!! 文章目录 数学建模美赛大数据题必须要会的数据预处理操作(二)!!! 创建DataFrame 数据显示限制 Series操作 创建Series ...

  9. 大数据分析必须要会的数据预处理操作(一)!!!

    数学建模美赛大数据题必须要会的数据预处理操作(一)!!! 文章目录 数学建模美赛大数据题必须要会的数据预处理操作(一)!!! pandas基础函数 读取并查看 DataFrame结构 info() 返 ...

最新文章

  1. SAP UI5 router的初始化逻辑
  2. nand flash坏块管理OOB,BBT,ECC
  3. Gartner:6个容器和Kubernetes策略的最佳实用技巧
  4. ElasticSearch里面关于日期的存储方式,解决差8个小时
  5. 听歌也能倍速了!网易云音乐PM怎么想的?
  6. python工资一般多少p-为什么这么多人喜欢Python?Python的就业方向是什么?
  7. 腾讯QQ认证空间4月27日已全面开放申请,欲进军自媒体
  8. cad lisp 微盘 程序_使用CAD无法避免的3个坑,你知道怎么绕开吗|AutoCAD断舍离
  9. 验证空间变形:电子在测地线的圆形轨道上辐射行为
  10. java多窗口,主编处理java代码怎么实现多个窗口
  11. 维度模型数据仓库基础对象概念一览
  12. JavaScript基础视频教程总结(001-010章)
  13. C语言定时器按键消抖程序,按键消抖方法(中断与定时器配合使用)
  14. word之无法插入公式,公式图标灰色
  15. 自举电容的工作原理-3句话总结
  16. 《王二丫的甜品店》用户隐私政策
  17. Android VideoView播放avi格式视频有声音无图像问题
  18. 超快!三分钟学会用3DsMax制作波浪效果!大忙人的你也可以忙里偷闲学技术
  19. 第十四届蓝桥杯模拟赛第一期试题【Java解析】
  20. mysql数据库分区

热门文章

  1. 80C51汇编语言有哪几条常用伪指令,单片微机原理与接口技术答案(宋跃版)
  2. json数据解析_shell从入门到放弃解析json数据(2)
  3. jpanel网格布局添加滚动条_Java Swing GridBagLayout网格袋布局的实现
  4. 【debug】requests.exceptions.ChunkedEncodingError: (‘Connection broken: IncompleteRead(0 bytes read)‘
  5. 西电计算机达标测试挂科保研,西电竞赛保研
  6. print(程序结束)_Python入门丨print()函数
  7. 编程范式 —— 函数式编程入门
  8. Java第二次作业第一题
  9. Java快速开发平台——JEECG 3.7.8 版本发布!我们的目标是有鱼丸也有粗面
  10. MobX基础 ----- 类的静态属性和装饰器