ndarrary包括的类型
1.bool
2.int类(intc,intp,int8,int16,int32,int64)
3.unit类(unit8,unit16,unit32,unit64)
4.float类(float16,float32,float64)
5.complex类(complex64,complex128)
数组创建:
从pyhton列表,元组创建:
import numpy as np x = np.array((1,2,3)) print(x) x = np.array([4,5,6]) print(x) x = np.array([(1,2,3),[4,5,6]]) print(x)
注意:列表和元组要数据个数相同才能创建
ndarrary自带的
import numpy as np a = np.arange(9) print(a) b = np.ones((3,3)) print(b) c = np.zeros((3,3),dtype=np.int32) #原本生成的是浮点型 print(c) d = np.eye(5) print(d) e = np.ones((2,3,4)) #(2,3,4)代表维度 print(e) print(e.shape)
like构造一个类似数组
import numpy as np a = np.ones_like([[1,2,3],[4,5,6]]) print(a) b = np.zeros_like([[1,2,3],[4,5,6]]) print(b) c = np.full_like([[1,2,3],[4,5,6]],5) print(c)
np.linspace补全和np.concatenate数组相连
import numpy as np #linspace给出开头和结尾,自动补全中间 a = np.linspace(1,10,4,dtype=np.int8) print(a) b = np.linspace(1,12,8,dtype=np.float16) print(b) c = np.linspace(1,10,4,endpoint=False) print(c) d = np.concatenate((a,c)) print(d)
数组变换:
transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样
swapaxes()接受一对轴编号,其实这里我们叫一对维度编号,进行调换
import numpy as np a = np.array([[1,2,3],[4,5,6]]) b = a.reshape((3,2)) #a不变,c改变 print(a,'\n',b) c = a.resize((3,2)) #a,c都改变 print(a,'\n',b) d = a.flatten() print(d) e = a.swapaxes(1,0) print(a) print(e) f = a.transpose(1,0) print(a) print(f)
astype&tolist
import numpy as np a = np.array([[1,2,3],[4,5,6]]) b = a.astype(dtype=np.float) #如果类型和原来相同,相当于拷贝 print(b)
#转换为列表
c = a.tolist()
print(c)