数据分析基础(代码片段)

kindvampire kindvampire     2023-04-13     245

关键词:

数据分析

什么是数据分析?

定义:把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律,使数据价值最大化。数据分析是使用适当的方法对手机来的大量数据进行分析,帮助人们做出判断,以便采取适当的

行动。

为什么学习数据分析?

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处理方式:正则表达式... 查看详情