面试的时候,面试官有概率会问到python的一些高端一丢丢的第三方库的使用,比如numpy pandas等,当然面试官不会问的特别难,各种实际业务使用,基本就是问基本语法而已,所以大家死记硬背即可。
这里要说一下,Numpy结合后面的pandas等很适合我们python后续做ai机器学习的基础之一哦~ 无论你是想做大数据测开,还是人工智能测开,numpy都是第一步。
我个人的理解是,在处理一些大量数据,多维数据的时候使用。
l = [1,2,3,4,5]
l = [[1,2,3],[4,5,6]]
所以有的同学就说了:我用传统的写法一样可以实现,为什么还要浪费精力去学习numpy呢?
那么我问个问题,说一个二维数组,给每个元素都自加1 怎么写?
聪明的同学一定秒写算法:
l = [[1,2,3],[4,5,6]]
new = [ [j+1 for j in i] for i in l ]
print(new)
结果如下:
[[2, 3, 4], [5, 6, 7]]
虽然看起来简单,但是仍然比较绕,我运用了内嵌列表推导式的写法。
但是numpy却可以很人性化的简单实现出来:
import numpy
l = [[1,2,3],[4,5,6]]
l = numpy.array(l)
l +=1
print(l)
看到了吧,给这个二维数组自加1就可以让所有元素加1,很神奇吧?结果如下:
可以看到,它还贴心的给换行展示,这个二维数组。或者说此时的l已经不算一个二维数组了,而是一个专门的数据存放格式,一个更好控制和使用的格式:
<class 'numpy.ndarray'>
可以看出是Numpy的专用格式之一。
那么numpy还有什么功能呢?大家有了兴趣之后就可以来死记硬背了,起码先混个脸熟吧~
numpy:import numpy as np
a = np.empty([3,4],dtype=int)
a = np.ones([3,4],dtype=int)
a = np.array([[1,2,3],[4,5,6]])
a = np.asarray([(1,2,3),(4,5,6)])
a = np.arange(start=1,stop=5,step=2)
a = np.random.random([2,3])
a = np.linspace(start=0,stop=20,num=5)
a = np.logspace(start=1,stop=10,num=4,endpoint=True,base=2)
print a.shape
print a.dtype
print a.ndim
print a.size
a.astype(float)
print a[0:2]
print a[:,2]
print a[1,2]
a+=1
print a==5
print a.sum(axis=0)
print a.sum(axis=1)
print a*b
print np.tile(a,(2,3))
print a.argmax(axis=0)
print a.argmax(axis=1)
print a[a.argmax(axis=0),range(a.shape[1])]
print a[range(a.shape[0]),a.argmax(axis=1)]
np.sort(a,axis=1)
np.sort(a,axis=0)
np.save('ttt',a) b = np.load('ttt.npy')
np.savetxt('ttt.txt',a) b = np.loadtxt('ttt.txt')
- END -