numpy
为什么要用numpy科学计算库?
一般情况下数据的组成:
行和列
学号 | 姓名 | 语文成绩 |
---|---|---|
1 | 张三 | 89 |
2 | 李四 | 85 |
3 | 王五 | 100 |
一般数据都是这样组成的,我们可以把数据分为行和列,这样对于数据的运算是很方便的,同时也是和高效的,这就是使用munpy科学计算库的原因,numpy就是做矩阵的计算,且是底部实现是C语言,运算速度很快.
- Numpy是一种数学工具,用于矢量计算
- Numpy的对象称为矩阵/多维数组 轴指的是维度,轶指的是轴的数量
常用属性和方法
numpy对象常用属性
b = np.array([[1,2,3]
,[4,5,6]])
print(b.ndim)
print(b.shape)
print(b.dtype)
print(b.size)
print(b.itemsize)
a = np.array([1,2,3])
print(a.shape)
b = np.array([[1,2,3]
,[4,5,6]])
print(b.shape)
很可能用在debug中,看看在转化中shape是否有错误
ndim
几个维度shape
各个维度的数值dtype
数据类型(int类型默认是32,float默认是64)size
元素总数itemsize
每个元素字节大小arange
(数字)生成一个数字列表reshape(x,y)
把numpy对象转为一个x行y列的对象
numpy打开文件
- numpy.genfromtext(’*.txt’,delimite=’,’,dtype=‘str’)
- 第一个参数表示
txt文件的路径
- 第二个参数表示把这个txt文件的内容按照,分隔
- 第三个参数表示打开文件的方式(如果有float的数据也有stsr的数据,用str的方式打开,在转化float的数据转化)
numpy的创建
第一种方式numpy.array(*)
- 注意
*
可以是一切的序列类型 - dtype自动推断 ,一般是float64(用于数值计算),也可以显式指定
- 另外对于set来说,直接传入时,仅作为一个元素,如果不想作为一个元素,那么可以在传入之前先转化为list或者tuple
其他方式创建
占位符
- np.zeros/ones/empty(*) *代表各维度的元组
- np.zeros_like/ones_like/empty_like(*) *表示参考另一个数组的dtype和shape
- 应用于数组元素未知,但是大小已知,这种方式有着高昂的运算代价,不建议经常使用
np.arange()
相当于python中的range()函数,称为数组数列
Np.eye/identity(),单位矩阵,特点是对角线为1,其余为0
# numpy创建一维二维矩阵
a = np.array([1,2,3])
print(a)
b = np.array([[1,2,3