Python自学-Numpy模块
1、 numpy 属性
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 17:00:04
LastEditTime: 2021-08-22 17:08:59
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson01\numpy属性.py
‘‘‘
import numpy as np
# 将列表转为数组。
array=np.array([[1,2,3],
[2,3,4]])
print(array)
# 维度。
print(‘number of dim:‘,array.ndim)
# 行数、列数。
print(‘shape:‘,array.shape)
# 元素个数。
print(‘size‘,array.size)
2、numpy 的创建 array
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 17:10:50
LastEditTime: 2021-08-22 18:05:17
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson01\numpy 的创建array.py
‘‘‘
import numpy as np
# a=np.array([2,3,4],dtype=int)
# print(a)
# print(a.dtype)
# print(‘--------‘)
# array=np.array([[1,2,3],
# [2,3,4]])
# print(array)
# print(‘--------‘)
# array1=np.zeros((5,6))
# print(array1)
# print(‘--------‘)
# array2=np.ones((3,7),np.int16)
# print(array2)
# print(‘--------‘)
# array3=np.empty((2,4))
# print(array3)
# a=np.arange(10,20,2)
# print(a)
# a=np.arange(12).reshape((3,4))
# print(a)
# 返回指定间隔内均匀间隔的数字。
# a=np.linspace(1,10,6).reshape((2,3))
# print(a)
3、numpy的基础运算
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 18:10:19
LastEditTime: 2021-08-22 18:31:19
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson01\numpy的基础运算.py
‘‘‘
import numpy as np
# a=np.array([10,20,30,40])
# b=np.arange(4)
# print(a,b)
# c=a-b
# d=a+b
# e=b**2
# f=10*np.sin(a)
# print(c)
# print(d)
# print(e)
# print(f)
# print(b)
# print(b<3)
# a=np.array([[1,1],
# [0,1]])
# b=np.arange(4).reshape((2,2))
# print(a)
# print(b)
# print(‘--------‘)
# # 一一对应乘法
# c=a*b
# # 矩阵的乘法。
# c_dot=np.dot(a,b)
# c_dot2=a.dot(b)
# print(c)
# print(c_dot)
# print(c_dot2)
a=np.random.random((3,4))
print(a)
# print(np.sum())
# print(np.max())
# print(np.min())
# axis:轴,1代表行,0代表列。
print(np.sum(a,axis=1))
print(np.max(a,axis=0))
print(np.min(a,axis=1))
4、numpy的基础运算2
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 18:33:51
LastEditTime: 2021-08-22 19:02:49
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson02\numpy的基础运算2.py
‘‘‘
import numpy as np
# a=np.arange(2,14).reshape((3,4))
# print(a)
# 最小值索引和最大值索引。
# print(np.argmin(a))
# print(np.argmax(a))
# 计算序列的平均值。
# print(np.mean(a))
# print(a.mean())
# print(np.average(a))
# 计算序列的中位数。
# print(np.median(a))
# 返回沿给定轴的元素的累积总和。
# print(np.cumsum(a))
# 计算沿给定轴的第 n 个离散差。
# print(np.diff(a))
# 返回非零元素的索引。
# print(np.nonzero(a))
a=np.arange(14,2,-1).reshape((3,4))
print(a)
# 逐行排序。
# print(np.sort(a))
# 反转或置换数组的轴;返回修改后的数组。
# print(a.transpose())
# print(a.T)
# 矩阵的乘法。
# print((a.T).dot(a))
# 剪辑(限制)数组中的值。
# print(np.clip(a, 5, 9))
# 对列计算平均值。
print(np.mean(a,axis=0))
# 对行计算平均值。
print(np.mean(a,axis=1))
5、numpy的索引
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 19:04:44
LastEditTime: 2021-08-22 19:19:41
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson02\numpy的索引.py
‘‘‘
import numpy as np
a=np.arange(3,15).reshape((3,4))
# print(a)
# print(a[3])
# print(a[2])
# print(a[1][1])
# print(a[2][1])
# print(a[2,1])
# print(a[2,:])
# print(a[:,1])
# print(a[1,1:2])
# print(a[1,1:3])
# 遍历行。
# for row in a:
# print(row)
# 遍历列。
# for column in a.T:
# print(column)
# 返回折叠成一维的数组的副本。
print(a.flatten())
# 数组上的一维迭代器。
for item in a.flat:
print(item)
6、numpy的 array 合并
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 19:21:05
LastEditTime: 2021-08-22 19:38:19
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson02\numpy的 array 合并.py
‘‘‘
import numpy as np
# a=np.array([1,1,1])
# b=np.array([2,2,2])
# # 垂直(按行)按顺序堆叠数组。
# c=np.vstack((a,b)) #vertical stack
# # 水平(按列)按顺序堆叠数组。
# d=np.hstack((a,b)) #horizontal stack
# print(a.shape,c.shape)
# print(a.shape,d.shape)
# print(a.shape)
# 一个方便的 No??ne 别名,对索引数组很有用。
# print(a[np.newaxis,:].shape)
# print(a[:,np.newaxis].shape)
# print(a[:,np.newaxis])
a=np.array([1,1,1])[:,np.newaxis]
b=np.array([2,2,2])[:,np.newaxis]
# d=np.hstack((a,b))
# print(d)
# 沿现有轴连接一系列数组。
# c=np.concatenate((a,a,a,b),axis=0)
c=np.concatenate((a,b,b,a),axis=1)
print(c)
7、numpy的 array分割
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 19:39:47
LastEditTime: 2021-08-22 19:57:51
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson02\numpy的 array分割.py
‘‘‘
import numpy as np
a=np.arange(12).reshape((3,4))
print(a)
# 横向分割。
# print(np.split(a,2,axis=1))
# 纵向分割。
# print(np.split(a,3,axis=0))
# 不均等分割。
# 将一个数组拆分为多个子数组。
# print(np.array_split(a,3,axis=1))
# 纵向分割
print(np.vsplit(a,3))
# 横向分割。
print(np.hsplit(a,2))
8、numpy的 copy & deep copy
‘‘‘
Author: Gu Jiakai
Date: 2021-08-22 19:59:01
LastEditTime: 2021-08-22 20:07:06
LastEditors: Gu Jiakai
Description:
FilePath: \numpy学习\lesson02\numpy的 copy & deep copy.py
‘‘‘
import numpy as np
a=np.arange(4)
print(a)
# b=a
c=a
d=a
a[0]=11
print(a)
# print(a is b)
# print(b)
print(c)
print(d)
d[1:3]=[22,33]
print(d)
print(a)
print(‘--------‘)
# 把值复制,不关联。
# 返回给定对象的数组副本。
b=a.copy() #deep copy()
a[3]=44
print(a)
print(b)
Python自学-Numpy模块