携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情
也是暑假自学python的第25天
今天继续昨天的numpy学习:
Numpy
将numpy数组转化为list:
使用tolist方法。
import numpy as np
a=np.array([1,2,3,4,5,6])
print(a)
list_a=a.tolist()
print(list_a)
type(list_a)
输出结果为:
Numpy的数据类型
在np.array数据类型中,可以规定数组中单个数据元素的大小:
f=np.array([1,2,3,4,5],dtype=np.int16)
print(f.itemsize)
print(f.dtype)
输出结果为:
可以知道一个元素占两个字节,dtype类型为int16
对于数据类型同样可以进行转化:
f1=f.astype(np.int64)
f1.dtype
此时就变成了int64。
数组的计算
数组可以直接在书写上写相关的计算,使数组中的每个数字都进行计算:
t=np.arange(24).reshape((6,4))
print(t)
t1=t+5
print(t1)
t2=t*3
print(t2)
t=np.arange(24).reshape((6,4))这句代码的意思就是随机生成一个0-23的数组,使之形成为6行4列的数组。
可以直接对数组进行计算,而每次计算的结果就是数组内的数字独立的进行计算:
而且相同维度的数组可以直接进行计算:
print(t+t2)
计算就是对应数字相加
输出结果如下:
但是如果不是不同维度的话,那就不可以直接进行计算。
注意:行数或者列数相同的一维数组和多维数组可以进行计算
举例如下:
t=np.arange(24).reshape((6,4))
print(t)
t2=np.arange(0,4)
print('-'*15)
print(t2)
print('-'*15)
print(t+t2)
直接看输出结果就知道具体是怎么计算的:
可以看到,具体的输出结果是这一一维数组与这个多维数组每一列都进行了计算。
Numpy中数组中的轴
数组中的轴,在numpy中可以理解为方向,使用0,1,2来表示。对于一个一维数组来说,只有一个0轴,对于二维数组(shape(2,2))有0和1轴,对于三维数组(shape(2,2,3))来说有0,1,2轴。
对于二维数组来说0轴为y轴,1轴为x轴。
对于三维数组来说0轴为向后的一个轴,1轴为y轴,2轴为x轴。
4行6列,表示0轴为4,1轴为6