Python机器学习基础之Numpy
看不到太远就把眼前做到最好,做眼前获利最大的事。
python的列表可以包含多种类型的数据,比如一个列表arr= 【‘2’,‘mane’,‘7.23’】 这使得它在处理效率上不太高。
如果我们只需要处理数据不需要处理别的,想高效一点呢?python提供了array(注意不再是List),也就是数组,它只能存储一种数据类型,最初赋值是啥类型就是啥类型的数组。
但是array不能处理矩阵,这对机器学习不好。
numpy包应运而生。
numpy是:只处理一种类型的可以进行向量或矩阵运算的包。
可以通过.dtpye来查询一个数组的类型。
例如:arr=【1,2,3】那arr.dtype=’int64’
如果一个已经是整形的数组赋值“字符串”会报错,但是赋值浮点型就不会,python会自动进行一个类型转换。
#写一个列表
list1=[i for i in range(10)]
#结果:list1=[0,1,2,3,4,5,6,7,8,9]
#写一个数组
'''i 代表这个数组里是整数,python将会暂时分配2个字节给它'''
import array
arr1=array.array('i',[i for i in range(10)])
#结果:arr1=array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
#写一个numpy数组
import numpy as np
nparr=np.array([i for i in range(10)])
#结果:nparr=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
总结:
list列表,里面可以是不同类型
array数组,里面只能是一种类型
numpy数组,里面只能是一种类型但是可以进行矩阵或向量运算。
附:所有数值类型的字符代码表:
还没有评论,来说两句吧...