一、Pandas数据处理

数据科学过程:数据获取、数据改写、数据分析、数据可视化

数据改写
对分析和实验过程中不适合的数据格式,使用一系列基本的python数据结构和命令处理所有的问题数据,为数据科学过程下一阶段提供典型的数据矩阵,矩阵的行和列中分别存储观测数据和变量

数据分析
包括简单统计和报表,统计分析,数据挖掘,机器学习方法等

Pandas数据处理:

  • pandas可以从文件加载表格数据
  • pandas是基于Numpy的一种工具,该工具是为了解决数据分析任务而创建的
  • 默认情况下,pandas会将数据存储到一个专门的数据结构中,这个数据结构能够实现按行索引、通过自定义的分隔符分割变量、推断每一列的正确数据类型,转换数据,以及解析日期,缺失值和出错数据
  • pandas中有两大核心数据结构
    ——Series(一维数据)
    ——Dataframe(数据框,多特征数据,既有行索引,又有列索引)
  • 使用Pandas进行数据加载和预处理

数据加载
1>数据加载:pandas.read_csv
2>显示数据前五行:文件名.head()-默认前五行
3>显示数据后五行:文件名.tail()-默认后五行
4>显示数据列名称:文件名.columns

处理问题数据
1>数据替换:.fillna()-括号内指定替换后的数值
替换为列均值(axis=0“按列操作”,axis=1“按行操作”)
2>数据集格式错误,可以在数据加载过程进行控制(error_bad_lines=False)

处理大数据集

  • 如果要加载的数据集过大而采用的内存不适用,可以采用批处理机器学习算法,一次只使用部分数据
  • 使用Python可以记载数据到区块(chunk),使数据集以连续流的形式流入数据框或其他的数据结构中
  • 使用pandas,有两种方式进行文件区块划分和加载
    第一种方式是加载数据集到相同大小的区块中。每个区块是数据集的一部分,包含数据的所有列,区块的行数则在函数调用中使用chunksize参数进行设置。
    另一种方式是为它专门申请一个迭代器,可以动态的决定每一个pandas数据框的长度(即多少行)

访问其他数据格式
到目前为止,我们处理的都是CSV文件。pandas库提供了类似的功能来加载MS Excel、HDFS、SQL、HTML和Stata等类型的数据集。
pandas数据框可以通过合并Series或其他类似列表来创建
标量转换成列表的方式如下:

import pandas as pd
my_own_dataset=pd.DataFrame({'col1':range(6),'col2':[1.0]*6,'col3':1.0,'col4':'Hello world!'})
print(my_own_dataset)

数据预处理

  • 如果想了解每个特征的统计数据,可以响应的对每列进行分组操作
  • 如果需要使用函数对观测值进行排序,可以使用.sort()方法
  • 如果数据集包含时间序列(如类别用数字表示),需要对它使用rolling操作
  • Pandas apply()方法能够通过编程执行任何按行或按列的操作
    如果按元素操作,应使用applymap()

数据选择
.loc

使用分类数据和文本数据

1、通常情况下,我们主要处理两种类型的数据:分类数据和数值数据

  • 数值数据都是可比较的,可以使用等于、大于、小于等二进制操作符
  • 数据数据具有统计属性,这不适用于其他类别
  • 分类数据表示一种可以测量的属性,通常可以划分为几个等级
  • 布尔数据是分类数据与数值数据的一个补充,可以将类属特征编码成数值

2、Scikit-Learn

  • Scikit-Learn是Python专门针对机器学习应用发展的一款开源框架
  • 功能:分类,回归,聚类,数据降维,模型选择和数据预处理等
  • OneHotEncoder:独热编码,又称一位编码,即使用N位状态寄存器堆N个状态进行编码,每个状态有独立发寄存器位,且只有一位有效;
  • LabelEncoder:标签编码,将原文本类别转换成整形数值,这种情况下数值仍然是一个分类变量,对它排序没有意义

特殊的数据类型——文本

  • 处理文本最常用的方法是使用词袋—bag of words

  • 在这种方法中,每一个单词都变成了特征,文本就成了包含其自身特征非零元素的向量(如单词)
    查看文件的地址:.filenames
    查看文件的标签:.target
    查看文件的内容:.data

  • 处理文本最简单的方法是将数据集的主体转换成词语序列
    词数统计:
    CountVectorizer:

  • 一个文本特征提取方法,对于每一个训练文本,其只考虑每种词汇在该训练文本中出现的频率

  • 将文本中的词语转换为词频矩阵,通过fil_transform函数计算各个词语出现的词数
    (行数:样本数、列数:特征数(数据集中的单词数))
    词频统计:
    TF:词频
    IDF:逆向文件频率。有些词可能在文本中频繁出现,但并不重要,即信息量很小,如is、of、that这些单词。这些单词在语料库中出现的频率也非常大,我们就可以利用这点,降低其权重。IDF(w)=log_e(语料库的总文档数)/(语料库中词w出现的文档数)
    TF-IDF:TF*IDF
    TF-IDF:TF-IDF词频-逆向文件频率。在处理文本时,如何将

二、Numpy数据处理

使用Numpy进行数据处理
对于加载的数据,必须进行进一步的处理,为后继的监督学习和无监督学习过程准备合适的数据矩阵。

  • 第一个阶段:数据是异质数据时(数据类型是数字和符号的混合)
  • 第二个阶段:数据为数值表格,表中的行表表示实例,列表示实例的观测特征,也就是变量
  • Pandas:数据框(DataFrame)
  • Numpy:多维数组(ndarray)

Numpy中的N维数组
Python中列表可以按顺序存储异质对象
Python中字典允许访问复杂内容、多维数据的数据结构

  • 存在内存和速度等方面问题
  • 善于存储数据确不善于操作数据
    • 处理数据时,必须先自定义函数,对列表和字典元素进行迭代和映射,不适用于大数据处理

1>ndarray类的属性
-内存最优(以内存块的最佳布局传送数据)

  • 允许快速线性代数计算(矢量),不需要使用循环迭代就能进行逐元素的操作
  • 是Scipy和Scikit-learn等重要库的数据结构,作为他们函数的输入
  • 通常存储单一的、事先定义好的特定数据类型
  • 初始化之后,数组的大小就固定了

2>Numpy ndarray对象基础

  • Python中,数组在每个索引位置,数组存储指定类型的数据,且数据一开始就确定类型,根据类型来分配内存空间
  • 数组创建程序可以保留确切的内存空间以存储所有的数据
  • 尽管数据的大小固定,也不能在结构上发生变化,数组元素
  • Numpy数组缺点是不方便数据更改,插入和删除数据时需要重新创建一个数组
  • 列表数据结构在表示多维数据时,只能将自己转换成嵌套列表,导致访问数据增加时间开销和内存碎片
  • 查看数组,数据结构中的数据转换成其他形式,但原数组不变
  • 复制数组,创建了一个具有不同结构的新数组
  • Pandas所有的数据框实际上都是一维的Numpy数组组成
  • 按列操作,每列都是一个Numpy数组,继承了ndarray快速和高效的内存
  • 按行操作,需要访问不同的列,即不同的Numpy数组
  • Numpy数组使用整数作为位置索引,pandas索引需要将索引转换成对应的位置再操作
  • 位置索引比pandas索引速度快

数据改写-数据科学导论相关推荐

  1. python数据科学导论_数据科学导论:Python语言(原书第3版)

    数据科学导论:Python语言(原书第3版) 作者:(意)阿尔贝托·博斯凯蒂;(意)卢卡·马萨罗 著 出版日期:2020年02月 文件大小:48.52M 支持设备: ¥50.00 适用客户端: 言商书 ...

  2. 数据科学导论python语言实现_数据科学导论:Python语言实现(原书第2版)

    数据科学导论:Python语言实现(原书第2版) 作者:(意)阿尔贝托·博斯凯蒂(Alberto Boschetti);(意)卢卡·马萨罗(Luca Massaron) 著 出版日期:2018年01月 ...

  3. 数据科学导论 考试有感 2019 山东大学

    数据科学导论 考试有感 2019 山东大学 数据科学导论 数据科学导论 平时分50分 有4个实验 两个人一组 爬虫.实体融合.twitter.MapReduce 3道题 简答:各种距离 设计:MapR ...

  4. 数据科学导论_数据科学导论,数据理解和准备

    数据科学导论 Data science, machine learning, data mining, advanced analytics, or however you want to name ...

  5. 计算机科学导论数据运算,2-计算机科学导论-数据与运算讲述.ppt

    2-计算机科学导论-数据与运算讲述 * 包括10个十进制数字(0-9).52个英文大写和小写字母(A-Z,a-z).34个专用符号和32个控制符号,共计128个字符. * 没有在IBM以外的机器上得到 ...

  6. 山东大学数据科学导论笔记

    数据科学导论这门课,怎么说呢.老师也不知道教了什么,学生也不知道学了什么,莫名其妙考试也不知道靠什么.这里整理了一点笔记,仅供考试前参考!!. ch1 引言 引言这一章,基本上不会出题,了解即可. 数 ...

  7. 海洋科学导论ppt_利用开放数据科学保护世界海洋

    海洋科学导论ppt 对于环境科学家而言,研究单个生态系统或生物可能是艰巨的任务. 梳理(或创建)的数据和文献数量通常是巨大的. 那么,环境科学家如何才能研究世界海洋的健康呢? 海洋健康本身就是一个大问 ...

  8. 读书笔记数据科学入门————数据科学导论

    数据科学导论 数据的用处:在数据中寻找隐藏问题的答案 数据科学是什么:就是从数据中剥离出真理. 在实际生活中数据的重要性,例如Facebook上的家乡居住地信息,不仅可以帮助朋友找到你的位置,同时网站 ...

  9. 数据科学导论学习小结——其三

    数据科学导论学习小结--其三 这是笔者大学二年级必修科目<数据科学基础>个人向笔记整理的第三部分,包含第六.第七两个章节.本笔记内容基于清华大学出版社<数据科学导论-探索数据的奥秘& ...

最新文章

  1. 【AI白身境】深度学习中的数据可视化​​​​​​​
  2. 音频处理一:(音频基本信息)
  3. python编程购物车_python编写购物车新写法
  4. 闲心之谈之虚拟货币系列:1、KDJ图实用技巧
  5. 雪花算法(snowflake)实现原理图解
  6. highcharts.js两种数据绑定方式和异步加载数据的使用
  7. matlab头模型图像,用Matlab解《2013年数据建模比赛》图像碎片拼接题
  8. 文本处理 - 测试一个对象是否是类字符串
  9. ETL转换工具 kettle——spoon 安装 使用
  10. 学习LSL:Locate-Globally-Segment-locally
  11. 调和数,1加二分之一加三分之一加到 n 分之一
  12. 《Microsoft COCO Captions Data Collection and Evaluation Server》论文笔记
  13. Python数据收集入门
  14. 软工小队第二次会议 4-23
  15. 神级程序员教你用代码哄好生气的女朋友,网友:我要甜甜的恋爱!
  16. 【oracle数据库数据恢复】技术人员误操作导致的oracle数据库误删除后的数据恢复
  17. PS去水印怎么操作?几个步骤轻松学会
  18. CCM-SLAM跑自己的USB摄像头
  19. uni-app中实现微信小程序/公众号订阅消息推送功能
  20. Win10自带记事本开发C语言,win10自带记事本的编码问题

热门文章

  1. 简单制作RPM二进包实例(转)
  2. 【动态规划】LeetCode 63. Unique Paths II
  3. LeetCode讲解视频博主链接
  4. 【重点】LeetCode 146. LRU Cache
  5. 如何设计学术海报(翻译)
  6. H5 可堆叠的圆环进度条,支持任意数量子进度条
  7. 【转】IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段
  8. SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库
  9. 转:实战 SQL Server 2008 数据库误删除数据的恢复
  10. 动态绑定dropdownlist --开始拣.NET