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,' ',b) c = a.resize((3,2)) #a,c都改变 print(a,' ',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)
支持索引和切片操作
ndarrary运算:
numpy一元函数
.abs,np.fabs绝对值
.sqrt平方根
.square平方
.log(x) .log10(x) .log2(x)对数
.ceil(x)不小于此数的最小整数
.floor(x)不大于此数的最大整数
.rint(x)四舍五入值
.modf(x)将各元素的小数与整数部分以两个独立数组的形式返回
.cos(x) .sin(x) .tan(x)
.cosh(x) .sinh(x) .tanh(x)
.exp(x)各元素的指数值
.sign(x)返回符号值
numpy二元函数
+-*/ ** 相同位置运算
.maxnum(x,y) .fmax(x,y)
.mininum(x,y) .fmin(x,y)
.mod(x,y) 元素级模运算
.copysign(x,y) 将数组y中的符号复值给x中的对应元素
> < >= <= == != 算术比较产生布尔型数组