栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

numpy(五)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy(五)

数组排序

将数组中的元素顺序排列:数字,字母(升序或者降序)

sort()函数可以对指定的数组进行升序排序

例:

a = np.array([4,3, 2, 0, 1])
print(np.sort(a))

结果为:[1,2,3,4]

对字母以及单词也是同理

例:

a = np.array(['band', 'cheese', 'andy'])
print(np.sort(a))

结果为:['andy','band', 'cheese']

也可以对布尔数组进行排列

例:

a = np.array([True, False, True])
print(np.sort(a))

结果为:[ False,True, True]

对二维数组也是同理

sort()函数是对数组进行升序排列,若要进行降序排列可以先数组进行升序排列再反转:

例:

arr = np.array([1,2,5,8,4,6,9,3])
x = np.sort(arr)
print('up=',x)
print('down=',x[::-1])

结果为:up= [1 2 3 4 5 6 8 9]
              down= [9 8 6 5 4 3 2 1]

数组过滤

从现有的数组中取出一些符合条件的元素从而创建出新的数组

例如:

a = np.array([1, 2, 3, 5])
x = [ False, True, False, True]
new = a[x]
print(new)

结果为:[2,5]

x数组相当于是条件,只返回对应为True的元素

也可以直接用条件替换数组

例如:取出a数组中的偶数

a = np.array([1, 4, 3, 8, 5, 6, 7,10])
filter_a = a % 2 == 0
new = a[filter_a]
print(filter_a)
print(new)

结果为:[False  True  False  True  False  True  False  True]
              [ 4  8  6 10]

a中符合条件的返回True到filter中,反之返回False

也可以:

a = np.array([1, 4, 3, 8, 5, 6, 7,10])
filter_a = []
for i in arr:
  if i % 2 == 0:
    filter_a.append(True)
  else:
    filter_a.append(False)
new = arr[filter_a]
print(filter_a)
print(new)

结果与上边一样

生成伪随机数

首先:from numpy import random

生成整数

randint()方法

x = random.randint(100)                生成一个0到100的随机整数   
x = random.randint(100, size=(5))      生成一个1维数组,其中包含5个0到100的随机整数
x = random.randint(100, size=(3, 5))   生成具有3行的二维数组,每行包含5个0到100的随机整数

生成浮点数

rand()方法

x = random.rand(5)                     生成一个一维数组,其中包含5个0到1之间的随机浮点数            
x = random.rand(3, 5)                  生成一个二维数组,每行包含5个0到1之间的随机浮点数

choice()方法

从数组中生成随机数

x = random.choice([3, 5, 7, 9])                  随机返回数组中的一个值
x = random.choice([3, 5, 7, 9], size=(3, 5))     生成由3,5,7,9中的值组成的二维数组
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号