从大佬那里学习了numpy并总结了一下numpy经常用到的方法
大佬链接:https://blog.youkuaiyun.com/guliang21/article/details/88566158
import numpy as np
a=[[1,2,3],[4,5,6]]
b=np.array(a,dtype=float, ndmin=3)#dtype定义数据类型/ndmin运用于数组多维化
c=np.array(b,copy=True)#copy运用于不同副本
d=np.matrix('1 2 3')#字符串矩阵化
print(a,'\n',b,'\n',c,'\n',d)
print(b.shape)#返回矩阵有n行m列
b.shape=(3,2)#转换矩阵注意符合矩阵规则
print(b)
print(b.ndim)#返回矩阵的秩
print(b.flags)#返回对象内存信息
print(b.real,'\n',b.imag)#输出实数/虚数部分
print(np.inf,np.NINF)#正无穷/负无穷
print(np.PZERO,np.NZERO)#0/-0
print(np.e,np.pi)
print(np.euler_gamma)#伽马数值
# order='c'时按行布局,order='f'按列布局
x=np.empty([3,2],dtype=int,order='f')#此方法用来创建一个随机数值、指定维度(shape)、数据类型(dtype)的未初始化的数组,
w=np.full((3,2),9)#此方法用来创建一个指定数值、指定维度(shape)、数据类型(dtype)的未初始化的数组,
print(x,"\n",w)
y=np.zeros(5)#零数组
z=np.ones(5)#单位矩阵
print(y,z)
e=np.arange(10,20,2,dtype=float)#arange(开始数值,结束数值,间距,dtype=None,)
f=np.linspace(10,20,4)#linspace(start, stop, 默认样本均分num=50, endpoint=True, retstep=False, dtype=None)等差数列
g=np.logspace(1,4,num=4,base=6)#numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)等比数列
print(e,'\n',f,'\n',g)
na = np.frombuffer(b)#伴随b的改变而改变,加不行
print(na)
h = (x * x for x in range(5))#从迭代中提取对象
i= np.fromiter(h, int)
print(i)
下面是输出结果,看不懂的可以看注释
[[1, 2, 3], [4, 5, 6]]
[[[1. 2. 3.]
[4. 5. 6.]]]
[[[1. 2. 3.]
[4. 5. 6.]]]
[[1 2 3]]
(1, 2, 3)
[[1. 2.]
[3. 4.]
[5. 6.]]
2
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : False
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
[[1. 2.]
[3. 4.]
[5. 6.]]
[[0. 0.]
[0. 0.]
[0. 0.]]
inf -inf
0.0 -0.0
2.718281828459045 3.141592653589793
0.5772156649015329
[[1225447940 1393416818]
[2019910766 1232105332]
[1869771333 1634887028]]
[[9 9]
[9 9]
[9 9]]
[0. 0. 0. 0. 0.] [1. 1. 1. 1. 1.]
[10. 12. 14. 16. 18.]
[10. 13.33333333 16.66666667 20. ]
[ 6. 36. 216. 1296.]
[1. 2. 3. 4. 5. 6.]
[ 0 1 4 9 16]