关键词:
数据分析
什么是数据分析?
定义:把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律,使数据价值最大化。数据分析是使用适当的方法对手机来的大量数据进行分析,帮助人们做出判断,以便采取适当的
行动。
为什么学习数据分析?
1、他有岗位要求。
2、它是Python数据科学的基础
3、它是机器学习课程的基础。
数据分析的流程:
1、提出问题
2、准备数据
3、分析数据
4、获得结论
5、成果可视化
开发环境介绍
anaconda:一种机器学习和数据分析的集成环境。官网:https://www.anaconda.com/
安装:傻瓜式安装。(安装路径最好不要有中文)
jupyter:jupyter是anaconda提供的一个基于浏览器的可视化开发工具。(后面的代码都是在jupyter上执行的)
jupyter的基本使用:
启动:jupyter notebook
数据分析三大模块
numpy、pandas、matplotlib
numpy模块
介绍:NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。重在于数值计算,也是大部分Python科学计算库的基础,多用于在大型、多维数组上执行的数值运算。
创建数组的三种形式:
1、通过numpy中的array()创建。
import numpy as np # 创建一维数组 arry = np.array([1,2,3,4,5,6]) # 创建二维数组 arry = np.array([[1,2,3],[3,2,1]]) # 创建三维数组 arry = np.array([[[10,20,30],[10,20,300],[10,20,30]],[[10,20,30],[20,30,40],[40,50,60]]])
2、motplotlib模块中pyplot创建数组。(将图片加载进三维数组中)
# 原图像 import matplotlib.pyplot as plt # 读取图片加载到数组中 img_arr = plt.imread(‘./a.jpg‘) # 原图像展示 plt.imshow(img_arr)
例子:修改图片加载的三维数组中的数据,看图片是否会发生变化?
# 做修改后展示 import matplotlib.pyplot as plt img_arr = plt.imread(‘./a.jpg‘) # 为 img_arr三维数据的每一列加50 img_arr = img_arr + 100 # 展示数据 plt.imshow(img_arr)
很明显发生了变化。
3、使用numpy的routines函数创建
routines函数:numpy.ones()、numpy.linspace()、numpy.arange()、numpy.random.randint()
import numpy as np # 创建一个4行5列的二维数组 np.ones(shape=(4,5)) # 0~100,之间,数组数据个数为20,数据的值由该函数自行计算,返回一维数组 np.linspace(0,100,num=20) # 前面两个指的是范围,num指数组的个数 # 0~100之间,数据之间为等差的关系,返回一维数组 np.arange(0,100,step=2) # step:等差值 # 数据为0~100之间随机值的数组(每次执行,返回的数组中的数据都是随机的) np.random.randint(0,100,size=(3,4)) # 二维数组的行列数 # 固定随机性 np.random.seed(1) # seed传入一个随机的数值(类似于hashlib加密的‘盐’) np.random.randint(0,100,size=(3,4))
numpy常用属性
import numpy as np arry = np.array([[1,2,3],[3,2,1]]) # 形状(几行几列) arry.shape # 维度 arry.ndim # 返回元素个数 arry.size # 数组元素的数据类型 arry.dtype # 查看数组类型 type(arry)
修改数组元素的数据类型
import numpy as np arry = np.array([[1,2,3],[3,2,1]]) # 方式一:直接修改 arry.dtype = ‘int8‘ # 方式二:定义时指定 arry = np.array([[1,2,3],[3,2,1]],dtype=‘float64‘)
数据类型表:
数组的切片与索引
import numpy as np np.random.seed(1) arry = np.random.randint(0,100,size=(4,5)) # 切前两行 arry[0:2] # 切前两列 arry[:,0:2] # 切前两行的前两列 arry[0:2,0:2] # 逗号前面代表行的切片,逗号后面代表列的切片 # 数组数据的翻转 # 行倒置 arry[::-1] # 列倒置 arry[::,::-1] # 数据翻转 arry[::-1,::-1]
引申:
1、对图片的反转
import matplotlib.pyplot as plt # 加载图片数据 img_arr = plt.imread(‘./a.jpg‘) #三维数组的反转 img_arr = img_arr[::-1,::-1,::-1] # 行反转,列反转,颜色反转 plt.imshow(img_arr)
2、图片裁剪
import matplotlib.pyplot as plt # 加载图片数据 i_arr = plt.imread(‘./a.jpg‘) # 裁剪 plt.imshow(i_arr[100:580,100:490,:]) # 行:取100行到580行之间的内容;列:取从100列到490列之间的内容
裁剪前:
裁剪后:
数组的变形
import numpy as np arr = np.random.randint(0,100,size=(3,4)) # 将二维数组改为一维数组 ar = arr.reshape((12,)) # 行乘以列 # 将一维数组变为二维 ar.reshape((3,4)) ar.reshape((1,12)) # 注意:无论是一维数组变二维还是二维变一位数组元素总量不能变
级联操作
import numpy as np arr = np.random.randint(0,100,size=(3,4)) # 竖直拼接 np.concatenate((arr,arr),axis=0)# axis=0表示竖直拼接,axis=1表示水平方向
例:图片九宫格拼接(之前裁剪的那张图)
# 原图像 import matplotlib.pyplot as plt # 加载图片数据 i_arr = plt.imread(‘./a.jpg‘) # 裁剪脸部 plt.imshow(i_arr[100:580,100:490,:]) # 水平拼接 arr3 = np.concatenate((i_arr,i_arr,i_arr),axis=1) # 竖直拼接 arr9 = np.concatenate((arr3,arr3,arr3),axis=0) plt.imshow(arr9)
常用的数学函数
import numpy as np # 标准的三角函数:np.sin(数组)、np.cos(数组)、np.tan(数组) # 例句: arr = np.random.randint(0,100,size=(3,4)) a = np.sin(arr) #批量精确数据(将数组中的数据精确到后几位) np.around(a,decimals=1) # decimals为1,代表数据精确到小数点后1位,2时为小数点后两位,以此类推
求数组元素的标准差和方差
import numpy as np a = np.array([22,33,22,34,41,44]) # 求标准差 a.std() # 求方差 a.var()
markdown数据库基础(代码片段)
pandas数据分析基础(代码片段)
Pandas安装anaconda安装:condalistpandas查看是否已经安装condainstallpandascondaupdatepandaspip安装pipinstallpandasapt安装sudoapt-getinstallpython-pandas测试是否安装成功nosetestspandases不成功会进行提醒,可以重新安装或者更新pandas数据结构SeriesDataFr 查看详情
markdown数据挖掘基础知识(代码片段)
textui基础知识-数据绑定库(代码片段)
基础数据类型(代码片段)
基础数据类型出现原因?让机器做出一些精准的区分,数字、汉字、英文...。类型:整数类型(int):1、2,3,4,5...;用来计算(+-*/...)。字符串类型(str):单引号/双引号引起来的数据称之为字符串。布尔值类型(bool):条件判断中使用... 查看详情
hive基础(代码片段)
...SQL语句转化成M/R或者Spark语言)。优点:简单SQL,常用于数据分析,扩展性好(计算和存储 查看详情
database-数据库基础函数(代码片段)
DataBase-数据库基础函数上一篇DataBase-数据库基本操作部门表CREATETABLEdept(#部门表deptnointprimarykeyauto_incrementNOTNULL,#部门编号dnameVARCHAR(20),#部门名称locationVARCHAR(13)#部门地点);INSERTINTOdeptVALUES(1,'accounting',' 查看详情
pyspark数据分析基础:pyspark基础功能及dataframe操作基础语法详解(代码片段)
目录前言一、PySpark基础功能 1.SparkSQL和DataFrame2.PandasAPIonSpark3.Streaming4.MLBase/MLlib5.SparkCore二、PySpark依赖Dependencies三、DataFrame1.创建创建不输入schema格式的DataFrame创建带有schema的DataFrame从PandasDataFrame创建通过由元组列表组成 查看详情
算法基础与开发流程(代码片段)
...electionimporttrain_test_split‘‘‘算法是核心,数据和计算是基础定位:1、分析数据2、分析业务3、应用常见算法进行对比校验4、特征工程、调参、优化数据类型离散型数据:由记录不同类别个体的 查看详情
机器学习数据科学基础——机器学习基础实践(代码片段)
【机器学习】数据科学基础——机器学习基础实践(一)@TOC前言什么是机器学习?机器学习是人工智能领域内的一个重要分支,旨在通过计算的手段,利用经验来改善计算机系统的性能,通常,这里的经验即历史数据。从大量... 查看详情
hive基础(代码片段)
Hive基础1、介绍Hive是OLAP(onlineanalyzeprocess,在线分析处理)。通常称为数据仓库,简称数仓。内置很多分析函数,可进行海量数据的在线分析处理。hive构建在hadoop之上,使用hdfs作为进行存储,计算过程采用的是Mapreduce完成,本质... 查看详情
mariadb基础使用(代码片段)
MariaDB基础使?mariadb的基本概念DQL数据查询语言selectDDL数据定义语言createdropalterDML数据操作语言insertdeleteupdateDCL数据控制语言grantrevokecommitrollback使?MariaDB的root?户登陆,然后使?showdatabases命令查看当前数据库服务中都有哪些具体的... 查看详情
数据库基础知识(代码片段)
目录1、数据库基础知识1、数据2、数据库3、数据库管理系统4、数据库系统4.1数据库系统的特点1、数据库基础知识1、数据描述事务的符号记录称为数据(Data)数据有多种表现形式,可以包括数字、字母、文字、特殊字符组成的... 查看详情
python基础之数据类型补充(基础五)(代码片段)
第七章python基础之数据类型补充(基础五)7.1数据类型补充字符串str,整型int,列表list,元组tuple,字典dict。7.1.1字符串str类型补充s1=str(123)#类型字符串s.capitalize()首字母大写s="alexwusir"s1=s.capitalize()#首字母大写:Alexwusirprint(s1)s.tit... 查看详情
数据库基础(代码片段)
数据库基础1、信息与数据的关系:数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的语义解释2、数据库系统:一般由数据库、操作系统、数据库管理系统(及其工具)、应用系统、数据库管理人... 查看详情
hive基础2(代码片段)
RDBMSOLTP.relationdatabasemanagementsystem,关系型数据库管理系统。支持事务(acid)延迟低安全行Vvariaty:多样性。hivemr,sql开发效率高。数据仓库。数据库://OLTPOLTP//onlinetransactionprocess,OLAP//onlineanalyzeprocess,在线分析处理,很多分析函数//rank|lag|le... 查看详情
mysql基础(代码片段)
MySQL基础一、数据库的基本概念1.为什么要学数据库?在以前的学习过程中,我都只是把数据存储到内存中,程序结束了,数据也就消失,这样不便于我们对数据的分析,所有,我们就得想办法,,把数据存储到一个我们可以看... 查看详情
爬虫基础(代码片段)
数据提取的概念和数据的分类1.什么是数据提取简单的来说,数据提取就是从响应中获取我们想要的数据的过程2.爬虫中数据的分类结构化数据:json,xml等处理方式:直接转化为python类型非结构化数据:HTML处理方式:正则表达式... 查看详情