数据改写-数据科学导论
一、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索引速度快
数据改写-数据科学导论相关推荐
- python数据科学导论_数据科学导论:Python语言(原书第3版)
数据科学导论:Python语言(原书第3版) 作者:(意)阿尔贝托·博斯凯蒂;(意)卢卡·马萨罗 著 出版日期:2020年02月 文件大小:48.52M 支持设备: ¥50.00 适用客户端: 言商书 ...
- 数据科学导论python语言实现_数据科学导论:Python语言实现(原书第2版)
数据科学导论:Python语言实现(原书第2版) 作者:(意)阿尔贝托·博斯凯蒂(Alberto Boschetti);(意)卢卡·马萨罗(Luca Massaron) 著 出版日期:2018年01月 ...
- 数据科学导论 考试有感 2019 山东大学
数据科学导论 考试有感 2019 山东大学 数据科学导论 数据科学导论 平时分50分 有4个实验 两个人一组 爬虫.实体融合.twitter.MapReduce 3道题 简答:各种距离 设计:MapR ...
- 数据科学导论_数据科学导论,数据理解和准备
数据科学导论 Data science, machine learning, data mining, advanced analytics, or however you want to name ...
- 计算机科学导论数据运算,2-计算机科学导论-数据与运算讲述.ppt
2-计算机科学导论-数据与运算讲述 * 包括10个十进制数字(0-9).52个英文大写和小写字母(A-Z,a-z).34个专用符号和32个控制符号,共计128个字符. * 没有在IBM以外的机器上得到 ...
- 山东大学数据科学导论笔记
数据科学导论这门课,怎么说呢.老师也不知道教了什么,学生也不知道学了什么,莫名其妙考试也不知道靠什么.这里整理了一点笔记,仅供考试前参考!!. ch1 引言 引言这一章,基本上不会出题,了解即可. 数 ...
- 海洋科学导论ppt_利用开放数据科学保护世界海洋
海洋科学导论ppt 对于环境科学家而言,研究单个生态系统或生物可能是艰巨的任务. 梳理(或创建)的数据和文献数量通常是巨大的. 那么,环境科学家如何才能研究世界海洋的健康呢? 海洋健康本身就是一个大问 ...
- 读书笔记数据科学入门————数据科学导论
数据科学导论 数据的用处:在数据中寻找隐藏问题的答案 数据科学是什么:就是从数据中剥离出真理. 在实际生活中数据的重要性,例如Facebook上的家乡居住地信息,不仅可以帮助朋友找到你的位置,同时网站 ...
- 数据科学导论学习小结——其三
数据科学导论学习小结--其三 这是笔者大学二年级必修科目<数据科学基础>个人向笔记整理的第三部分,包含第六.第七两个章节.本笔记内容基于清华大学出版社<数据科学导论-探索数据的奥秘& ...
最新文章
- 【AI白身境】深度学习中的数据可视化​​​​​​​
- 音频处理一:(音频基本信息)
- python编程购物车_python编写购物车新写法
- 闲心之谈之虚拟货币系列:1、KDJ图实用技巧
- 雪花算法(snowflake)实现原理图解
- highcharts.js两种数据绑定方式和异步加载数据的使用
- matlab头模型图像,用Matlab解《2013年数据建模比赛》图像碎片拼接题
- 文本处理 - 测试一个对象是否是类字符串
- ETL转换工具 kettle——spoon 安装 使用
- 学习LSL:Locate-Globally-Segment-locally
- 调和数,1加二分之一加三分之一加到 n 分之一
- 《Microsoft COCO Captions Data Collection and Evaluation Server》论文笔记
- Python数据收集入门
- 软工小队第二次会议 4-23
- 神级程序员教你用代码哄好生气的女朋友,网友:我要甜甜的恋爱!
- 【oracle数据库数据恢复】技术人员误操作导致的oracle数据库误删除后的数据恢复
- PS去水印怎么操作?几个步骤轻松学会
- CCM-SLAM跑自己的USB摄像头
- uni-app中实现微信小程序/公众号订阅消息推送功能
- Win10自带记事本开发C语言,win10自带记事本的编码问题