实训笔记20190801(Numpy)

本文介绍了NumPy的基础知识,包括什么是NumPy、Ndarray对象的详细特性,如创建方法(empty、zeros、ones等)、数组属性(shape、ndim、itemsize、size)以及数组类型。还探讨了NumPy的切片和索引,特别是高级索引(花式索引)以及数组的运算和广播规则,是进行科学计算的重要参考资料。
摘要由CSDN通过智能技术生成

什么是NumPy

NumPy(Numerical Python) 是科学计算基础库,提供大量科学计算相关功能,比如数据 统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组 与矩阵运算,Numpy 支持向量处理 ndarray 对象,提高程序运算速度。

Numpy_Ndarray对象

Numpy中定义的最终要的对象是称为ndarray的N维数组类型。它描述相同类型的元素集合。可以使用基于零的索引访问集合中的项目。

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

上面的构造器接受以下参数:

序号 参数 描述
1. object 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
2. dtype 数组的所需数据类型,可选。
3. copy 可选,默认为true,对象是否被复制。
4. order C(按行)、F(按列)或A(任意,默认
5. subok 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类
6. ndimin 指定返回数组的最小维数
import numpy as np
#例子01
#a = np.array([1,2,3])
#print(a)
#print(type(a))

#多于一个维度
#a2 = np.array([[1,2],[3,4]])
#print(a2)

#最小维度
#a3 = np.array([1,2,3,4,5],ndmin = 2)
#print(a3)

NumPy数组创建

numpy.empty

创建指定形状和dtype的未初始化数组

numpy.empty(shape, dtype = float, order = ‘C’)
构造器接受下列参数:

序号 参数 描述
1. Shape 空数组的形状,整数或整数元组
2. Dtype 所需的输出数组类型,可选
3. Order C’为按行的 C 风格数组,'F’为按列的 Fortran 风格数组
#例: 数组元素为随机值
arr = np.empty((3,3),dtype = 'i1')
print(arr)
numpy.zeros

返回特定大小,以0填充

arr = np.zeros((3,3))
print(arr)

#自定义类型
arr = np.zeros((3,3), dtype =  [('x',  'i4'),  ('y',  'i4')])
print(arr)
numpy.ones

返回特定大小,以1填充

arr = np.ones((2,3,4))
print(arr)
arr = np.ones((3,3), dtype =  [('x',  'i4'),  ('y',  'i4')])
print(arr)
numpy.asarray

类似 numpy.array 可以将Python序列转换为ndarray

array和asarray的区别:array默认的是一个列表元素,
但是asArray是一个维度/矩阵

#来自列表
arr = [1,2,3,4]
arr2 = np.asarray(arr)
print(arr2)
print(type(arr))
print(type(arr2))

#来自元组
arr = (1,2,3,4)
arr2 = np.asarray(arr)
print(arr2)
print(type(arr))
print(type(arr2))

#来自元组列表
# arr = [(1,2,3,4),(5,6,7,8)]
# arr2 = np.asarray(arr)
# print(arr2)
# print(type(arr))
# print(type(arr2))
numpy.arange

这个函数返回ndarray对象,包含给定范围内的等间隔值

	numpy.arange(start,stop,step,dtype)
	arr = np.arange(5,dtype = float)
	print(arr)

此结果减小了数学里面的误差思想,在数据挖掘,数据分析等里面使用此思想,降低数据误差

numpy.linspace

与arange函数类似 等差数列
numpy.linspace(start,stop,num,endpoint,retstep,dtype)

序号 参数 描述
1 start 起始值
2 stop 结束值
3 num 生成等间隔样例的数量,默认为50
4 endpoin 序列中是否包含stop 值 默认为 True
arr = np.linspace(10,20,9)
 print(arr)
arr = np.linspace(10,20,5,endpoint=False)
print(arr)
arr = np.linspace(10,20,5,retstep=True)
print(arr) #返回步长
numpy.logspace

等比数列
numpy.logscale(start, stop, num, endpoint, base, dtype)

序号 参数 描述
1. start 起始值是base ** start
2. stop 终止值是base ** stop
3. num 范围内的数值数量,默认为50
4. endpoint 如果为true,终止值包含在输出数组当中
5. base 对数空间的底数,默认为10
6. dtype 输出数组的数据类型,如果没有提供,则取决于其它参数
arr = np.logspace(1,10,10,base = 2)
#以2为底的空间矩阵
print(arr)
random模块
序号 模块 描述
1 rand 返回 0 - 1 随机值
2 randn 返回一个样本具有标准正态分布
3 randint 返回随机的整数,位于半开区间[low,hight)size = 10 (3,3)
4 random_integers(low[, high, size]) 返回随机的整数,位于闭区间
5 random 返回随机浮点数
arr = np.random.rand(9).reshape(3,3)
#9表示元素的个数 reshape(3,3)3行3列输出
print(arr)

#在人工资能里面利用正态分布函数操作:将机器学习的数据进行矩阵化图标分析
#人工智能/机器学习的核心:第一件事:获取'数据集&#
练习使用python-numpy的方法——东北大学大数据班数据挖掘Python基础二(1) 实训项目:练习使用numpy的方法。 (1)用0~19的数字生成(4,5)的数组命名为a,查看a的维度;查看a的轴的个数;查看a元素的总个数; (2)创建元素为1,2,3,4的(2,2)的数组 b,查看b中元素类型。 (3)创建一个全1的(4,4)的数组c;创建一个内容随机的(3,2)数组d,并打印d。 (4)用0~11的数,创建一个3*4的数组n1,计算每一列的和;计算每一行的最小值。 (5)生成一个3个元素的数组n2,通过常用函数计算每个元素的平方根;每个元素的标准差。 (6)生成一个9个(可以从0~8)元素的数组n3,计算每个元素的平方根;取出位置2的元素;取出位置2至5之间的元素。 (7)随机生成2个3*3的数组n4和n5,将n4和n5进行垂直合并形成n6;将n4和n5进行水平合并形成n7。 (8)创建一个2行3列的零矩阵命名为z,将z的2行3列的位置值置成1。 (9)生成4*4的对角矩阵,以[1,2,3,4]为对角线,其他位置用0填充,命名为z1 。 (10)用0~8的数,创建成`3*3`的矩阵,命名为z2;用随机数,创建`4*4`的矩阵,命名为z3。 (11)读取iris数据集中的数据。 (12)获取数据中的花萼长度数据。 (13)对花萼长度数据进行排序。 (14)对花萼长度数据进行去重。 (15)对花萼长度数据进行求和。 (16)对花萼长度数据进行求均值。 (17)对花萼长度数据求累计和。 (18)对花萼长度数据求标准差。 (19)对花萼长度数据求方差 。 (20)对花萼长度数据求最大值、最小值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值