Anaconda计算包集合了numpy,pandas,sklearn,scipy等模块。
numpy用来处理大型矩阵,比python自带的嵌套list要高效很多。
可以使用list作为numpy对象的初始化参数,一维list与嵌套list都可以,在此用*生成的嵌套list可以作为np.array()的参数,实际np.array也会按照总元素个数申请内容。
a = np.array([1,2,3,4])
type(a) #numpy.darray
b = np.array([[1]*5]*3)
b.shape #(3,5)
type(b[1,2]) #numpy.int32
还有一些其他方式创建numpy的array
np.zeros((2,3))
np.ones((2,3))
np.eyes(5)
np.random.random((2,3))
对array的元素进行切片,slice的方式跟list方式一致。
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
row1 = a[1, :] #返回比原array小一维度的array
row2 = a[1:2, :]#返回与原array同维度的array
b = a[:2, 1:3] #[[10,11]]
b[0, 1] = 88
以上操作会将原来a对应的元素值也改变了,故b只是一个引用至a的对应元素。
A slice of an array is a view into the same data,so modifying it will modify the original array.
可