Python自学-Numpy模块

2021/8/22 22:28:38

本文主要是介绍Python自学-Numpy模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程