前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试复习系列【python-数据处理-1 】

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

作者头像
我去热饭
发布2022-05-20 09:43:48
5530
发布2022-05-20 09:43:48
举报
文章被收录于专栏:测试开发干货

面试的时候,面试官有概率会问到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 -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • numpy
  • 创建指定大小的二维数组,值随机
  • 创建指定大小的二维数组,值全为1,且指定类型
  • 创建n维数组对象
  • 从已有元组或数组中创建
  • 从数值范围创建列表数组
  • 创建随机元素数组,行/列
  • 等差数组
  • 等幂数组 base的1-10次方范围,4个数实现
  • 打印结构
  • 输出元素数据类型
  • 输出元素秩
  • 输出元素总个数
  • 元素类型转换
  • 只要前2行
  • 只要第3列
  • 只要第2行第3个元素
  • 元素全部自加1
  • 元素全部判断是否等于5
  • 按列求和
  • 按行求和
  • 俩个矩阵同位置元素相乘
  • 矩阵扩展,行扩大2倍,列扩大3倍
  • 获取每列最大值的行数
  • 获取每行最大值的列数
  • 输出每列最大值
  • 输出每行最大值
  • 每行都从小到大排序
  • 每列都从小到大排序
  • 存储和取出
  • 存储取出其他格式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档