面试复习系列【python-数据处理-1 】

2022-05-20 09:43:48 浏览数 (1)

面试的时候,面试官有概率会问到python的一些高端一丢丢的第三方库的使用,比如numpy pandas等,当然面试官不会问的特别难,各种实际业务使用,基本就是问基本语法而已,所以大家死记硬背即可。

这里要说一下,Numpy结合后面的pandas等很适合我们python后续做ai机器学习的基础之一哦~ 无论你是想做大数据测开,还是人工智能测开,numpy都是第一步。

numpy

我个人的理解是,在处理一些大量数据,多维数据的时候使用。

  • 比如我们创建一个数组,很好写
代码语言:javascript复制
l = [1,2,3,4,5]
  • 创建一个二维数组,也很好写
代码语言:javascript复制
l = [[1,2,3],[4,5,6]]

所以有的同学就说了:我用传统的写法一样可以实现,为什么还要浪费精力去学习numpy呢?

那么我问个问题,说一个二维数组,给每个元素都自加1 怎么写?

聪明的同学一定秒写算法:

代码语言:javascript复制
l = [[1,2,3],[4,5,6]]

new = [ [j 1 for j in i] for i in l ]

print(new)

结果如下:

代码语言:javascript复制
[[2, 3, 4], [5, 6, 7]]

虽然看起来简单,但是仍然比较绕,我运用了内嵌列表推导式的写法。

但是numpy却可以很人性化的简单实现出来:

代码语言:javascript复制
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)

创建指定大小的二维数组,值全为1,且指定类型

a = np.ones([3,4],dtype=int)

创建n维数组对象

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)

等幂数组 base的1-10次方范围,4个数实现

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)

只要前2行

print a[0:2]

只要第3列

print a[:,2]

只要第2行第3个元素

print a[1,2]

元素全部自加1

a =1

元素全部判断是否等于5

print a==5

按列求和

print a.sum(axis=0)

按行求和

print a.sum(axis=1)

俩个矩阵同位置元素相乘

print a*b

矩阵扩展,行扩大2倍,列扩大3倍

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 -

0 人点赞