Python-7

生产实习第八天

Anaconda

Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项

Numpy

NumPy是一个开源的Python科学计算基础库;NumPy是SciPy、Pandas等数据处理或科学计算库的基础

内容:

(1)、一个强大的N维数组对象ndarray(2)、广播功能函数(3)、整合C/C++/Fortran代码的工具

(4)、线性代数、随机数生成等功能

作用:数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据设置专门的数组对象,经过优化,可以提升这类应用的运算速度

ndarray介绍:
(1)、ndarray的构成
实际的数据
描述这些数据的元数据(数据维度、数据类型等)
(2)、ndarray的同质性
ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始
numpy.array()生成一个ndarray数组
(3)、轴(axis): 保存数据的维度;秩(rank):轴的数量
(4)、ndarray对象的属性
.ndim
秩,即轴的数量或维度的数量
.shape
ndarray对象的尺度,对于矩阵,n行m列
.size
ndarray对象元素的个数,相当于.shape中nm的值
.dtype

import numpy as np
a = np.array([
[0,1,2,3,4],
[9,8,7,6,5]
])
a.ndim
a.shape
a.size

a.dtype
ndarray的元素类型:参考课件
ndarray数组的创建方法:*
从Python中的列表、元组等类型创建ndarray数组
np.array(list/tuple)

import numpy as np
x = np.array([0,1,2,3])
print(x)
y = np.array((4,5,6,7))
print(y)
z = np.array([
[1,2],
[9,8],
(0.1,0.2)
])
print(z)

​ 使用NumPy中函数创建ndarray数组
​ np.arange([start,] stop[, step,], dtype=None) 根据起始值、终止值、步长返回ndarray类型
​ np.ones(shape,dtype) 根据shape生成一个全1数组,shape是整数类型或者元组类型
​ np.zeros(shape,dtype) 根据shape生成一个全0数组,shape是整数类型或者元组类型
​ np.full(shape,fill_value) 根据shape生成一个数组,每个元素值都是fill_value
​ np.eye(N) 创建一个正方的n*n单位矩阵,对角线为1,其余为0
​ np.ones_like(a) 根据数组a的形状生成一个全1数组
​ np.zeros_like(a) 根据数组a的形状生成一个全0数组
​ np.full_like(a,fill_value) 根据数组a的形状生成一个数组,每个元素值都是fill_value,可使用dtype覆盖结果的数据类型
​ np.linspace() 根据起止数据等间距地填充数据,形成数组(等差数列).
​ 注意:该函数的完整写法是:
linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
根据endpoint的设置来决定是否包含最后的数据
​ np.concatenate() 将两个或多个数组合并成一个新的数组

随机数:

产生"随机种子":np.random.seed(seed=种子数值)

生成随机整数:np.random.randint(low, high=None, size=None, dtype=‘l’)

生成随机浮点数:
np.random.random(size=None):生成[0.0, 1.0)的数
np.random.rand(d0, d1, …, dn):生成给定形状的[0, 1)之间的数
np.random.normal(loc=0.0, scale=1.0, size=None)生成指定均值和标准差的浮点数

聚合运算:

一维向量的聚合运算
(1)、使用numpy自带的函数
np.min(ndarray对象)
np.max(ndarray对象)
np.sum(ndarray对象)
(2)、使用ndarray面向对象的方式
ndarray对象.min()
ndarray对象.max()
ndarray对象.sum()

二维矩阵的聚合运算
默认情况下,sum()、max()、min()、prod()、mean()、median()是针对矩阵中所有元素而言的,在某个轴上进行运算,可以传入axis参数
方差与标准差
方差:np.var(ndarray对象)
标准差:np.std(ndarray对象)

数组形状变换
ndarray的reshape(shape元组)
注意:若shape元组参数的某个维度设置为-1,则忽略该维度的具体值,根据具体情况自行变换

切片的使用
在二维数组的使用
建议使用"数组名[行索引范围,列索引范围]"的方式进行多维数据的访问
a = np.arange(15).reshape(3,5)
a[:2,:3]

复制数组copy()
ndarray对象.copy()

numpy数组的合并与分割
数组的合并
数组连接:numpy的concatenate((a1, a2, …), axis=0)
垂直拼接(即使数组维度不同)
numpy的vstack(tup)
水平拼接
np.hstack(tup)
数组的分割
数组分割:numpy的split(ary, indices_or_sections, axis=0)
垂直分割
numpy的vsplit(ary, indices_or_sections)
水平分割
numpy的hsplit(ary, indices_or_sections)

Numpy中的矩阵运算
numpy是基于向量化的运算,也就是可以针对向量中的每个元素进行运算
注意:这里“向量”表示一个一维数组
import numpy as np

L = np.arange(10)
print(L * 2)
将数组看作"向量"或"矩阵"的运算
矩阵内运算
对矩阵的每个元素进行四则运算、幂运算、指数运算、求余、三角函数、对数等运算
矩阵的转置,调用数组的T属性或者transpose()方法
矩阵间运算
对矩阵间对应元素作运算
向量和矩阵的运算
矩阵的逆

索引运算
计算索引
np.argmin(ndarray对象)、np.argmax(ndarray对象)

排序与索引
np.sort(ndarray对象)
np.argsort(ndarray对象) 根据原数组元素排序,返回其索引位置
np.partition(ndarray数组,元素索引) 将指定索引位置的元素放在正确的位置
np.argpartition(ndarray数组,元素索引) 数组中目标索引位置上元素的索引

FancyIndexing与其它操作
基本操作(一维向量和矩阵操作)
布尔数组当做索引
numpy比较与FancyIndexing
np.any()与np.all()
组合运算

注意:函数后加问号可显示函数细节

matplotlib

matplotlib是一个Python 的绘图库,可以将数据进行可视化操作

matplotlib绘制折线图

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt

x = np.linspace(0,10,100)
siny = np.sin(x)
cosy = np.cos(x)
plt.plot(x,siny,label=“sin(x)”)
plt.plot(x,cosy,color=‘red’,linestyle=‘:’,label=“cos(x)”)
#plt.xlim(-5,15)
#plt.ylim(0,1.5)
plt.axis([-3,13,-2,2])
plt.xlabel(“x axis”)
plt.ylabel(“y value”)
plt.legend()plt.title(“正弦余弦图”)

plt.scatter(x,siny)
plt.scatter(x,cosy,color=‘red’)

plt.show()

matplotlib绘制散点图

matplotlib与内置数据集的结合使用
可以使用sklearn中的内置数据集进行数据分析,
导入方式:from sklearn import datasets

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值