7个罕见的Numpy函数!

本文介绍了Numpy库中七个不常见但实用的函数,如np.where进行条件判断、np.random.RandomState.rand生成随机数、np.vstack垂直叠加数组等,适合Python开发者深入理解Numpy库的高级特性。
摘要由CSDN通过智能技术生成

7个罕见的Numpy函数!

本文介绍的是numpy中少见但是非常实用的7个函数。

In [1]:

import pandas as pd
import numpy as np

np.where()

功能和TensorFlow中的where函数相同,下面介绍用法

In [2]:

m = np.arange(0,15,2)
m

Out[2]:

array([ 0,  2,  4,  6,  8, 10, 12, 14])

In [3]:

# 情形1

np.where(m, 1, -1)

Out[3]:

array([-1,  1,  1,  1,  1,  1,  1,  1])

上面结果中如何m为真则输出1,否则输出-1。在m的取值中0代表的就是False,其他的为True。

In [4]:

# 情形2

np.where(m>=2,1,-1)

Out[4]:

array([-1,  1,  1,  1,  1,  1,  1,  1])

判断条件是m大于等于2,则输出1;否则输出-1

In [5]:

# 情形3

np.where(m>=2)

Out[5]:

(array([1, 2, 3, 4, 5, 6, 7]),)

当执行完条件后面没有规定输出的内容,直接输出满足要求数据的索引值

In [6]:

m[np.where(m>=2)]

Out[6]:

array([ 2,  4,  6,  8, 10, 12, 14])

np.random.RandomState.rand(维度)

返回[0,1)之间的随机数

In [7]:

rdm = np.random.RandomState(seed=1)

In [8]:

rdm.rand()  # 返回单个0-1之间的数值

Out[8]:

0.417022004702574

如果不指定维度,就是返回0到1之间的某个数值

In [9]:

rdm.rand(2,3)   # 指定维度 3*2

Out[9]:

array([[7.20324493e-01, 1.14374817e-04, 3.02332573e-01],
       [1.46755891e-01, 9.23385948e-02, 1.86260211e-01]])

In [10]:

rdm.rand(4,3)  # 4*3

Out[10]:

array([[0.34556073, 0.39676747, 0.53881673],
       [0.41919451, 0.6852195 , 0.20445225],
       [0.87811744, 0.02738759, 0.67046751],
       [0.4173048 , 0.55868983, 0.14038694]])

np.vstack()

将两个数值按垂直方向叠加

np.vstack(array1, array2)

In [11]:

array1 = np.array([1,2,3])
array2 = np.array([2,3,4])

In [12]:

np.vstack([array1,array2])

Out[12]:

array([[1, 2, 3],
       [2, 3, 4]])

In [13]:

array3 = np.array([[1,2,3],
                   [4,5,6]
                  ])
array4 = np.array([[5,6,7],
                   [8,9,10]
                  ])

In [14]:

np.vstack([array3,array4])

Out[14]:

array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 5,  6,  7],
       [ 8,  9, 10]])

np.mgrid()

np.mgrid[起始值:结束值:步长, 起始值:结束值:步长]

In [15]:

import numpy as np

In [16]:

x,y = np.mgrid[1:4:1, 2:4:0.5]

In [17]:

x

Out[17]:

array([[1., 1., 1., 1.],
       [2., 2., 2., 2.],
       [3., 3., 3., 3.]])

In [18]:

y

Out[18]:

array([[2. , 2.5, 3. , 3.5],
       [2. , 2.5, 3. , 3.5],
       [2. , 2.5, 3. , 3.5]])

.ravel()

将多维数组拉直成为一维

In [19]:

x.ravel()

Out[19]:

array([1., 1., 1., 1., 2., 2., 2., 2., 3., 3., 3., 3.])

In [20]:

y.ravel()

Out[20]:

array([2. , 2.5, 3. , 3.5, 2. , 2.5, 3. , 3.5, 2. , 2.5, 3. , 3.5])

.flatten()

和上面的ravel效果相同

In [21]:

x.flatten()

Out[21]:

array([1., 1., 1., 1., 2., 2., 2., 2., 3., 3., 3., 3.])

In [22]:

y.flatten()

Out[22]:

array([2. , 2.5, 3. , 3.5, 2. , 2.5, 3. , 3.5, 2. , 2.5, 3. , 3.5])

np.c_

将数值之间的值进行配对

In [23]:

np.c_[x.ravel(), y.ravel()]

Out[23]:

array([[1. , 2. ],
       [1. , 2.5],
       [1. , 3. ],
       [1. , 3.5],
       [2. , 2. ],
       [2. , 2.5],
       [2. , 3. ],
       [2. , 3.5],
       [3. , 2. ],
       [3. , 2.5],
       [3. , 3. ],
       [3. , 3.5]])

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值