数据分析基础知识之数据收集与分析软件
数据收集与分析软件
一、数据收集过程
1.数据的类型
数据是采用某种计量尺度对事物进行计量的结果,采用不同的计量尺度会得到不同类型的数据,通常按数据的手机途径可以将数据进行如下分类:
1.1按度量尺度分
- 定性数据(也称计数数据,qualitative data)
定性数据是对度量事物进行分类的结果。数据表现为类型,用文字来表述,如性别、区域、产品分类等。 - 定量数据(也称计量数据,quantitative data)
定量数据是对度量事物的精确测度。结果表现为具体的数值,如身高、体重、家庭收入等。
1.2按时间状态分
横截面数据(也称截面数据,cross-section data)
横截面数据是指对变量在某一时点上收集的数据的集合,反应在相同或近似相同的时间点上收集的数据描述现象在某一时刻的变化情况。时间序列数据(也称动态数列,time series data)
时间序列数据是按照一定时间间隔对某一变量在不同时间的取值进行观测得到的一组数据,反应在不同时间上收集到的数据描述现象随时间变化的情况。
2.数据的收集
数据收集有一定的格式,当对一个观察指标测量了每一观察单位的数据时,通常以向量的形式展现X:x1、x2、……xn。
当对每一观察单位测量了多个指标时,通常以双向表的矩阵形式展现。
不同领域对该数据的观察单位和指标的叫法不同:数学上称他们为行(row)和列(column)的二维数组或矩阵。统计学上称他们叫做观测(observation)和变量(variable)的数据集,数据库中称他们记录(record)和字段(field)的数据表,人工智能中称他们为示例(example)和属性(attribute)的数据集。
2.1单变量数据收集
这类数据通常是一个个单独的数据变量,都可以单独拿来进行数据分析。
2.2多元数据收集
这类数据也称横截面数据,主要是用来研究多个变量间的关系,包括综合分析、分类分析等。
2.3时序数据的收集
时序数据是一类比较特殊的数据,也称纵向数据,它对数据的格式有一定的要求,特别是时间序列数据,须注意时间序列数据的输入格式。
以上数据集,点这里可以获取,后面也会用得到。
3.数据的管理
数据管理是利用计算机硬件和软件技术对数据有效的收集、存储、处理和应用的过程。对于一般的数据分析而言,电子表格软件已经足以胜任分析所需要的数据管理。常用的电子表格软件有微软Office的Excel表格软件和金山Office的WPS软件。
3.1电子表格管理数据
如果仅做一般数据管理,数据量不是特别大,而且要求系统免费、跨平台,那么首选的数据管理软件应该是WPS软件。
数据在这里——>以上数据集,点这里可以获取,后面也会用得到。,也可以登录blog.leanote.com/PyDm下载数据。
3.2数据库管理数据
当分析的数据量很大时,采用电子表格类软件有很大问题,须采用数据库来管理数据表格。
二、数据分析软件
1.数据分析软件简介
能做数据分析的软件有很多,如电子表格、SAS、SPSS、R、Python、Stata、Matlab、Eviews等。
- 电子表格:不仅是数据管理软件,也是分析数据的入门工具。由于电子表格在数据存量、图形样式、统计方法和统计建模方面功能受限,所以他们很难成为专业的数据分析软件。
- SAS(Statistical Package for the Social Science)也是世界上著名的统计分析软件之一。
- Matlab是美国MathWorks公司出品的商业数学软件,是用于算法开发、数据可视化、数据分析及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分。
- Stata是一套完整的、集成的统计分析软件包,可以满足数据分析、数据管理和统一图形的所有需要。
- Eviews是美国QMS公司1981年发行的第1版Micro TSP 的Windows版本,通常称为计量经济学软件包,是当今世界最流行的计量经济学软件之一。
- R语言:从纯数据分析角度来说,应用最好的当属S语言的免费开源及跨平台系统R语言。是一个用于统计计算的很成熟的免费软件,也可以理解称为一种统计计算语言,实际上很多人直接称呼它为“R”,它比C++,Fortran等不知道简单了多少倍!
2.python语言介绍
2.1python简介
Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件,源代码和解释器CPython遵循GPL (GNU General PublicLicense)协议。 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富而强大的包,它常被昵称为“胶水语言”,能够把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如, 3D游戏中的图形渲染模块性能要求特别高,就可以用C/C++重写,然后封装为Python可以调用的扩展包。需要注意的是,在使用扩展包时可能需要考虑平台问题,某些扩展包可能不提供跨平台的实现。
由于Python语言的简洁性、易读性及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如,卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,如著名的计算机视觉包OpenCV.
三维可视化包VTK、医学图像处理包ITK,而Python专用的科学计算扩展包就更多了,如以下三个十分经典的科学计算扩展包: numpy, scipy和Matplotib,它们分别为Python提供了快速数组处理、数值运算及绘图功能。因此, Python语言及其众多的扩展包所构称的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
2.2python的特色
Python是一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,其设计具有很强的可读性。
① Python是解释型语言:这意味着开发过程中没有了编译这个环节。
② Python是交互式语言:这意味着可以在一个Python提示符下直接互动执行写程序。
③ Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象中的编程技术。
④ Python是初学者的语言: Python对初级程序员而言,是一种友好易学的语言,它支持广泛的应用程序开发-从简单的文字处理到www浏览器再到游戏。
具体而言, Python有如下一些特点。
- 简单、易学。
- 免费、开源。
- 高层语言:封装内存管理等。
- 可移植性:程序如果不使用依赖于系统的特性,那么无须修改就可以在任何平台上运行。
- 解释性:直接从源代码运行程序,不再需要担心如何编译程序,使得程序更加易于移植。
- 面向对象:支持面向过程的编程,也支持面向对象的编程。
- 可扩展性:需要保密或者高效的代码,可以用C或C++编写,然后在Python程序中使用。
- 可嵌入性:可以把Python嵌入C/C+程序,从而向程序用户提供脚本功能。
- 丰富的包:包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI. FTP,电子邮件、XML、XML-RPC、 HTML、 WAV文件、密码系统、GUI(图形用户界面)、TK和其他与系统有关的操作。
除标准包以外,还有许多其他高质量的包,如wxPython. Twisted和Python图像包等。 - 概括性强: Python确实是一种十分精彩又强大的语言,它合理地结合了高性能与使得编写程序简单有趣的特色。
- 规范的代码: Python采用强制缩进的方式,使得代码具有极佳的可读性。
2.3python的功能
Python最大也是其成为最流行的数据分析软件的特点就是,它包含大量的扩展包并拥有方便的二次开发功能。 Python的扩展包包罗万象,它所能完成的数据统计模型已经超出了任何其他商业统计软件。笔者做了一个统计,截至2019年1月, https://www.python.org/ 所列的扩展包达到165797个之多(包含几十万个数据分析方法),除进行各种程序开发外,可完全满足进行数据分析之用。
2.4python的编程环境
Python是一种强大的面向对象的编程语言,这样的编程环境需要使用者不仅熟悉各种命令的操作,还须熟悉DOS编程环境,而且所有命令执行完即进入新的界面,这给那些不具备编程经验或对统计方法掌握不够好的使用者造成了极大的困难。
采用基于Anaconda的Jupyter平台进行数据分析。
3.python在线平台
3.1Jupyter项目
随着网络技术的不断普及,建立基于大数据和云计算的Web应用平台势在必行。Jupyter项目旨在开发跨几十种语言的开源软件、开放标准和用于交互式计算的服务。
3.2Juoyter Notebook
3.21简介
是一款开放源代码的Web应用程序,允许创建和共享包含实时代码、方程式、可视化和叙述文本的文档。用途包括数据线清晰和转换、数值模拟、统计建模、数据可视化、机器学习等。
3.22使用
下载ANACONDA 载里面找到Juoyter Notebook,使用非常直观和方便。
3.23新建Jupyter Notebook
单击New 按钮可建立相对应的文档语言文本。
可以在文件管理菜单中修改(Rename)之前新建的文档名:
3.24上传文档与数据
输入下面代码可以上传数据:
import pandas as pd
data=pd.read_excel('d:PyDm_data.xlsx',encoding='utf-8'):
data
注意:对于文本数据,要留心数据的编码(encoding)格式!如果有中文名,要用“utf-8‘。
3.25Jupyter notebook快捷键
Jupyter Notebook有两种键盘输入模式。
①编辑模式,允许往单元中输入代码或文本;这时的单元框线是绿色的。
②命令模式,通过键盘输入运行程序命令;这时的单元框线是灰色的。
- Shift+Enter:运行本单元,选中下一个单元;
- Ctrl+Enter:运行本单元;
- Alt+Enter:运行本单元,在其下插入新单元;
- Y:单元转入代码状态;
- M:单元转入markdown状态;
- A:在上方插入新单元;
- B:在下方插入新单元;
- x:剪切选中的单元;
- Shift V:在上方粘贴单元。
这些快捷键也可在下面的Jupyter Lab中使用。
3.26Jupyter Lab
Jupyter Lab是一个名副其实的IDE,且是一个基于网页的IDE(保留了全部的Notebook 特性).
如果不想安装庞大的Python和Jupyter Notebook,而只是想简单使用一下,那么可用Jupyter社区提供的浏览器版Jupyter Lab,单击“试试Jupyter Lab"即可使用,但限于网速,在线运行速度稍慢,建议使用本地安装版。
进入后的界面与平常使用的编程环境差别不大。
数据分析基础知识之数据收集与分析软件相关推荐
- python数据分析基础知识(一)
数据分析基础知识(一) NumPy 库 概念与作用 NumPy是一个开源的Python科学计算基础库,还是 Scipy.Pandas 等数据处理或科学计算库的基础 ,它被用于用于科学计算,且在性能.存 ...
- 【大数据】大数据基础知识科普--数据分层
大数据基础知识科普–数据分层 (ETL.ODS.DW.DWD.DWM.DWS.DIM) 零.数据加载层:ETL(Extract-Transform-Load) 一.数据操作层:ODS(Operatio ...
- 数据分析基础知识复习
数分析基础知识 从广义的角度,数据分析分为三个方面体包括** '数据分析','数据挖掘','模型算法'**. 数据分析:偏重于数理统计,用统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论 ...
- python数据分析基础试题_Python数据分析基础知识
数据库:绝大会要求会SQL,部分要求SQL/NoSQL会一种,高级的分析师或者大型企业要求能够处理大数据,需要Hive(较少的需要Hadoop/Spark): 统计学:若无相关专业背景,需要具备相应的 ...
- 基础知识学习-数据结构篇
糊里糊涂的做了快三年的码农,随着编码的不断增加,越发的觉得自己的基础知识薄弱.从零开始学起,从头开始做起. 本篇为博客园的伊始篇,记录数据结构相关的基础知识. 目录结构 第一篇 数据结构相关概念 第二 ...
- SQL Server 索引基础知识(8)--- 数据基本格式补充(转自蝈蝈俊.net)
我在SQL Server 索引基础知识系列中,第一篇就讲了记录数据的基本格式.那里主要讲解的是,数据库的最小读存单元:数据页.一个数据页是8K大小. 对于数据库来说,它不会每次有一个数据页变化后,就存 ...
- 【内网安全-基础】基础知识、信息收集、工具
目录 一.基础知识 1.内网: 2.工作组: 3.域(Domain): 二.基础信息收集 1.判断是否在域内 2.机器角色判断 3.出网协议判断 4.端口判断 三.常规信息收集 1.常用命令 2.常用 ...
- 老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化
引言 今天周末,我在家坐着掐指一算,马上又要到一年一度的金九银十招聘季了,国内今年上半年受到 YQ 冲击,金三银四泡汤了,这就直接导致很多今年毕业的同学会和明年毕业的同学一起参加今年下半年的秋招,这个 ...
- mysql表格基础知识_mysql基础知识-操作表数据
insert into tablename (字段1,字段2,字段3....) values (value1,value2,value3...) .......................... ...
最新文章
- css3 渐变色 3种,css3实现渐变色文字的三种方法
- App Store审核被拒的23个理由
- shell 脚本和 bash 脚本的关系
- 多媒体技术基础及应用
- 人工智能TensorFlow工作笔记005---计算图的基本应用_认识计算图
- 分享功能 集成友盟分享
- Matlab--利用plot函数绘画直线
- 新路由3 Newifi3 D2 Lede固件
- [Spring实战系列](9)装配集合
- wex5链接mysql_【WeX5学习】 后端服务之访问数据库表
- android tv box ---- 插入u盘直接播放指定文件夹中的视频
- Unity基础-灯光
- Python制作吃鸡各数据资料查询助手,带你做理论王者~
- HBase+Spark技术双周刊 第四期 1
- Theil-Sen Median斜率估计和Mann-Kendall趋势分析:以多年NPP数据为例
- 人造肉大火,一个来得太早的风口?
- 电源服务器原理,破坏性拆解一个HP服务器1300W的电源 【精华】
- Linux系统编程:树莓派 ds18b20温度获取(文件IO相关操作)
- 瞬间记忆测试c语言,脑龄测试(数字瞬间记忆脑龄测试)
- Redis面试知识点