携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
也是暑假自学python的第24天
今天开始对numpy进行学习
Numpy
1.Numpy介绍:
Numpy是一个开源的python科学计算库,可以用于处理任意维度的数组
Numpy支持常见的数组和矩阵操作,使用ndarry对象来处理多维数组,是一个灵活而且强大的大数据容器 p'y
2.Numpy优势
对于同样的数据计算,使用Nmupy比python代码便捷的多。
3.Numpy使用
比较Numpy与list的区别,numpy的运行速度比list更快。
我们首先随机一个含有一千万个数据的数组,在数组中,我们分别使用数组求和的方法和使用ndarray的方法来对数组进行求和。
a=[]
for i in range(100000000):
a.append(random.random())
采用list列表求和的方法:
t1=time.time()
sum1=sum(a)
t2=time.time()
采用ndarray求和的方法,并且比较两组运行的时间:
b=np.array(a) #b是一个ndarray 就是数组
t3=time.time()
sum2=np.sum(b)
t4=time.time()
print(t2-t1,t4-t3)
由运行结果可以看出:
使用ndarray数组的方法比list列表的方法快出了大概十倍。
4.NDarray
numpy最重要的就是多维数组ndarray的数组使用,ndarray对象是用于存放同类型元素的多维数组。
对ndarray的学习:
创建一个list对象,使用np里面的方法将list变为numpy.ndarray对象:
import numpy as np
list1=[1,2,3,4]
a=np.array(list1)
print(list1)
print(a)
print(type(a))
print(type(list1))
具体的运行结果如下:
由此可以看到list列表写法和np数组的写法完全不一样,在一开始学习python就会说出list只是列表而不是一个数组,真正的数组是ndarray
ndarray二维数组:
list2 = [[1,2],[3,4],[5,6]]
two_array=np.array(list2)
运行结果为:
ndarray中二维数组最重要的三个概念:
print(two_array.ndim)
print(two_array.shape)
print(two_array.size)
ndim:多少维,二维还是三维?
shape:形状,三行两列
size:三行两列相乘就是6,所以size就是6
np调整数组的形状:
four = np.array([[1,2,3],[4,5,6]])
four.shape
输出结果为(2,3)
修改数组的形状:
four=four.reshape(3,2) #返回了一个新的array
four被覆盖
将其展成一维数组:
five=four.reshape((6,))
six=four.flatten()
print(six)
将数组直接展平:
reshape将数组可以按照自己的需要展开。
今天的学习结束。