Python人工智能常用库Numpy使用入门

第一章 jupyter notebook简单教程

目前成都创新互联已为上千多家的企业提供了网站建设、域名、网络空间、网站托管、服务器托管、企业网站设计、武定网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

命令模式按键esc开启

Enter : 转入编辑模式

Shift-Enter : 运行本单元,选中下个单元

Ctrl-Enter : 运行本单元

Alt-Enter : 运行本单元,在其下插入新单元

Y : 单元转入代码状态

M :单元转入markdown状态

Z : 恢复删除的最后一个单元

第二章 numpy简单教程

2.1 数组

import numpy as np

a = np.array([1, 2, 3])

print(a)

#out

[1 2 3]

a

#out

array([1, 2, 3])

type(a)

#out

numpy.ndarray

a.shape

#out

(3,)

# reshape(1, -1)中1代表设置数组为1行 , -1代表一个占位符 , 表示a数组列数

# reshape()中-1可以作为行的占位符也可以作为列的占位符

a = a.reshape(1, -1)

a.shape

#out

(1, 3)

a = np.array([1, 2, 3, 4, 5, 6])

a.shape

#out

(6,)

a = a.reshape(2,-1)

a.shape

#out

(2, 3)

a

#out

array([[1, 2, 3],

[4, 5, 6]])

a = a.reshape(-1, 2)

a.shape

#out

(3, 2)

a[2, 0]

#out

5

a[2, 0] = 55

a[2, 0]

#out

55

# zeros用于创建元素全部为0的矩阵数组

a = np.zeros((3, 3))

a

#out

array([[0., 0., 0.],

[0., 0., 0.],

[0., 0., 0.]])

# ones用于创建元素全部为1的矩阵数组

a = np.ones((3, 3))

a

#out

array([[1., 1., 1.],

[1., 1., 1.],

[1., 1., 1.]])

# zeros ones函数也完全可以用full函数实现

a = np.full((2, 3), 0)

a

#out

array([[0, 0, 0],

[0, 0, 0]])

# eye函数用于创建单位矩阵

a = np.eye(3)

a

#out

array([[1., 0., 0.],

[0., 1., 0.],

[0., 0., 1.]])

# random.random用户创建数值为0-1之间的随机二维数组

a = np.random.random((2, 3))

a

#out

array([[0.54627035, 0.49586489, 0.6976645 ],

[0.76596824, 0.95951819, 0.7515421 ]])

2.2 数组索引操作

# indexing : 数组索引

a = np.array([[1, 2, 3, 4],

[5, 6, 7, 8],

[9, 10, 11, 12]])

# -2代表数组的倒数第二行 , 1:3代表从第一列开始往后两个元素

a[-2:, 1:3]

#out

array([[ 6, 7],

[10, 11]])

# 取倒数第二行 , 第三列元素

a[-2, 3]

#out

8

a

#out

array([[ 1, 2, 3, 4],

[ 5, 6, 7, 8],

[ 9, 10, 11, 12]])

a.shape

#out

(3, 4)

# 将数组a倒数第二行开始到最后一行 , 从第一列往后两列元素赋值给b数组

b = a[-2:, 1:3]

a

#out

array([[ 1, 2, 3, 4],

[ 5, 6, 7, 8],

[ 9, 10, 11, 12]])

b

#out

array([[ 6, 7],

[10, 11]])

b.shape

#out

(2, 2)

# 指定为索引为的2行

b = a[2, 1:3]

b

#out

array([10, 11])

b.shape

#out

(2,)

b = a[1, 2]

b

#out

7

b.shape

#out

()

b = a[2:3, 1:3]

b

#out

array([[10, 11]])

b.shape

#out

(1, 2)

# 将数组的3行的1列 + 10

a[np.arange(3), 1] += 10

a

#out

array([[ 1, 12, 3, 4],

[ 5, 16, 7, 8],

[ 9, 20, 11, 12]])

a[np.arange(2), 3] += 100

a

#out

array([[ 1, 12, 3, 104],

[ 5, 16, 7, 108],

[ 9, 20, 11, 12]])

# 产生一个0,1,2的数组 , 不包含3

np.arange(3)

#out

array([0, 1, 2])

# 产生一个从3-7的数组 , 不包含7

np.arange(3,7)

#out

array([3, 4, 5, 6])

a[np.arange(3), [1,1,1]] += 10

a

#out

array([[ 1, 22, 3, 104],

[ 5, 26, 7, 108],

[ 9, 30, 11, 12]])

a[[0,1,2], [1,1,1]] += 10

a

#out

array([[ 1, 32, 3, 104],

[ 5, 36, 7, 108],

[ 9, 40, 11, 12]])

# 判断数组a中大于10的值

result_index = a>10

result_index

#out

array([[False, True, False, True],

[False, True, False, True],

[False, True, True, True]])

a[result_index]

#out

array([ 32, 104, 36, 108, 40, 11, 12])

a[a>10]

#out

array([ 32, 104, 36, 108, 40, 11, 12])

2.3 元素数组类型

a = np.array([1,2,3])

a.dtype

#out

dtype('int64')

a = np.array([1.1, 2.2])

a.dtype

#out

dtype('float64')

a = np.array([1.1, 1, 'a'])

a

#out

array(['1.1', '1', 'a'], dtype='

# 将float型数组转化成int型

a = np.array([1.1, 2.2], dtype=np.int64)

a

#out

array([1, 2])

# 将a数组赋值给b数组 , 同时设置元素类型为int

b = np.array(a, dtype=np.int64)

b

#out

array([1, 2])

2.3 数组运算与常用函数

numpy中的数学运算

a = np.array([[1,2],

[3,4]])

b = np.array([[5,6],

[6,5]])

# 加法

a+b

#out

array([[6, 8],

[9, 9]])

np.add(a,b)

#out

array([[6, 8],

[9, 9]])

# 减法

a-b

#out

array([[-4, -4],

[-3, -1]])

np.subtract(a,b)

#out

array([[-4, -4],

[-3, -1]])

# 乘法

a*b

#out

array([[ 5, 12],

[18, 20]])

np.multiply(a,b)

#out

array([[ 5, 12],

[18, 20]])

# 除法

a/b

#out

array([[0.2 , 0.33333333],

[0.5 , 0.8 ]])

np.divide(a,b)

#out

array([[0.2 , 0.33333333],

[0.5 , 0.8 ]])

# 开方

np.sqrt(a)

#out

array([[1. , 1.41421356],

[1.73205081, 2. ]])

a

#out

array([[1, 2],

[3, 4]])

b = np.array([[1,2,3],

[4,5,6]]) 无锡人流医院哪家好 http://www.wxbhnkyy120.com/

# dot : 是将a数组与b数组矩阵相乘的结果

a.dot(b)

#out

array([[ 9, 12, 15],

[19, 26, 33]])

np.dot(a,b)

#out

array([[ 9, 12, 15],

[19, 26, 33]])

numpy中的常用函数

# sum : 求和函数

# 计算数组中全部元素的和

a = np.array([[1,2],

[3,4]])

np.sum(a)

#out

10

# 将数组中的每一列进行求和操作

np.sum(a, axis=0)

#out

array([4, 6])

# 将数组中的每一行进行求和操作

np.sum(a, axis=1)

#out

array([3, 7])

# mean : 求平均值函数

# 计算数组的平均值

np.mean(a)

#out

2.5

# 计算数组每一列的平均值

np.mean(a, axis=0)

#out

array([2., 3.])

# 计算数组每一行的平均值

np.mean(a, axis=1)

#out

array([1.5, 3.5])

# uniform : 用户生成一个指定范围内的随机数值

np.random.uniform(3,4)

#out

3.247709331922638

# tile : 用于将一个数组作为一个元素重复指定的次数

a

#out

array([[1, 2],

[3, 4]])

# 将数组在行上重复1次, 在列上重复2次

np.tile(a, (1,2))

#out

array([[1, 2, 1, 2],

[3, 4, 3, 4]])

# 将数组在行上重复1次, 在列上重复3次

np.tile(a, (1,3))

#out

array([[1, 2, 1, 2, 1, 2],

[3, 4, 3, 4, 3, 4]])

# argsort : 将数组中的元素进行排序 , 默认从小到大

a = np.array([[1,12,3,104],

[5,10,1,3]])

# 按照数组下标将元素排好

np.argsort(a)

#out

array([[0, 2, 1, 3],

[2, 3, 0, 1]])

# 将每一列进行排序

a.argsort(axis=0)

#out

array([[0, 1, 1, 1],

[1, 0, 0, 0]])

# T : 矩阵转置

a

#out

array([[ 1, 12, 3, 104],

[ 5, 10, 1, 3]])

a.T

#out

array([[ 1, 5],

[ 12, 10],

[ 3, 1],

[104, 3]])

# 使用transpose函数将数组转置

np.transpose(a)

#out

array([[ 1, 5],

[ 12, 10],

[ 3, 1],

[104, 3]])

2.4 广播

广播

可以将不同维度的数组进行相加 , numpy会将不同维度的数组转化成相同维度的数组 , 广播会在缺失维度和一维的数组上进行操作

a = np.array([[1, 2, 3],

[5, 6, 7],

[9, 10, 11]])

b = np.array([1,2,3])

# 将b数组加到a数组的每一行

for i in range(3):

a[i, :] += b

a

#out

array([[ 2, 4, 6],

[ 6, 8, 10],

[10, 12, 14]])

# 将b数组行上重复3次 , 列上重复1次 , 与a相加

a + np.tile(b, (3,1))

#out

array([[ 3, 6, 9],

[ 7, 10, 13],

[11, 14, 17]])

标题名称:Python人工智能常用库Numpy使用入门
网页地址:https://www.cdcxhl.com/article40/isjoeo.html

成都网站建设公司_创新互联,为您提供动态网站全网营销推广网站制作移动网站建设响应式网站品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司