记录从准研一假期自学PYTHON的全过程day24

111 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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)

由运行结果可以看出:

image.png

使用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))

具体的运行结果如下:

image.png

由此可以看到list列表写法和np数组的写法完全不一样,在一开始学习python就会说出list只是列表而不是一个数组,真正的数组是ndarray

ndarray二维数组:

list2 = [[1,2],[3,4],[5,6]]
two_array=np.array(list2)

运行结果为:

image.png

ndarray中二维数组最重要的三个概念:

print(two_array.ndim)
print(two_array.shape)
print(two_array.size)

ndim:多少维,二维还是三维?

shape:形状,三行两列

size:三行两列相乘就是6,所以size就是6

image.png

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)

将数组直接展平:

image.png

reshape将数组可以按照自己的需要展开。

今天的学习结束。