l1=np.array([1,3,5,7,9])
l2=np.array([2,4,6,8,10])
l1-l2
#array([-1, -1, -1, -1, -1])
加减乘除都是按位数进行
如果位数不一致,会报错
print(np.add(l1,l2))
多维数组取数
data= np.array([
[1,2,3],
[4,5,6]
])
print(data[0,1])
print(data[0][1])
#2
#2
获取数组中的某几个数字
data=np.arange(10)
print(data[3:6])
#[3 4 5]
起始位置是0的话可以省略不写
比如data[0:6]和data[:6]得到的结果是一样的
data=np.array([
[1,2,3],
[4,5,6]
])
data[0, :]代表第0行所有元素全取出来
#array([1,2,3])
data[:,0]代表所有行的第0位元素取出来
#array([1,4])
切片取出来的数据对应的还是原始数据,任何修改都会对应到原始的数据上。如果想要修改但是不影响原始的数据,要在切片的数据后面加上.copy()
data=np.arange(10)
data_slice=data[3:6].copy()
一维变多维度
data1=np.arange(10)
data2=data1.reshape((2,5))
print(data2)
#[[0 1 2 3 4][5 6 7 8 9]]
如果改成(2,3)等其他无法拆分10的元组,则报错
data3=data2.T
print(data3)
#[[0 5][1 6][2 7][3 8][4 9]]
这里不是0 1 2 3排序
而是把原来的数组旋转了90度进行重组
每个元素求平方根
类似的还有
abs=绝对值
sqrt=平方根
square=平方
exp=计算指数
sign=计算正负号:1、0、-1
ceil=计算大于等于该元素的最小整数
floor= 计算小余等于该元素的最大整数
isnan= 计算哪些元素是非数字
data=np.arange(10)
print(np.sqrt(data))
两个数组的可用方法
add=计算2个数组的和
subtract=从第一个数组减去第二个数组
multiply=计算两个数组元素的乘积
divide=第一个数组除以第二个数组
fmax=计算两个元素各个位置上更大的那个
fmin=计算两个元素各个位置上更小的那个
data1=np.array([1,3,5,7,9])
data2=np.array([2,4,6,8,10])
print(np.add(data1,data2))
#[3 7 11 15 19]
常用的数组统计方法
sum=计算数组所有元素的和
mean=计算数组所有元素的平均值
std=计算数组所有元素的标准差
min,max=计算数组所有元素的最小或最大值
argmin,argmax=计算数组所有元素中的最小或最大值对应的位置