NumPy入门(六)

简介: 本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 NumPy入门,后续还会单独发一篇 NumPy高级 内容供读者学习。

9.训练场

🚩训练场中包含十道例题以及答案代码,读者需要自己敲写一遍,已增强学习记忆。

在这里,给大家介绍一个函数:display() 它的作用类似于 print() 函数,不过它相较于 print 而言更加的美观:

image.png

9.1 创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1

# 创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1
import numpy as np
arr = np.zeros(10, dtype = 'int')
# 第5个
arr[4] = 1
arr

9.2 创建一个元素为从10到49的ndarray对象,间隔是1

# 创建一个元素为从10到49(包含49)的ndarray对象,间隔是1
import numpy as np
# 注意是包含 49 的,故我们在给函数串参数的时候需要传到 50
arr = np.arange(10, 50)
arr

9.3 将第2题的所有元素位置反转

# 将第2题的所有元素位置反转
import numpy as np
# 注意是包含 49 的,故我们在给函数串参数的时候需要传到 50
arr = np.arange(10, 50)
arr
# 使用反向切片操作可以使元素实现翻转
arr = arr[::-1]
arr

9.4 使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素

# 使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素
import numpy as np
arr = np.random.random(size = (10, 10))
# 使用 max 和 min 分别计算最大和最小元素
print('最大值为:', arr.max())
print('最小值为:', arr.min())

9.5 创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0

# 创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0
import numpy as np
arr = np.full(shape = (10, 10), fill_value = 0, dtype = np.int8)
# 第一行和最后一行赋值为 1
arr[[0, -1]] = 1
# 第一列和最后一列赋值为 1
arr[:, [0, -1]] = 1
arr

9.6 创建一个每一行都是从0到4的5*5矩阵

# 创建一个每一行都是从0到4的5*5矩阵
import numpy as np
# 先创建一个元素全为 0 的矩阵
arr = np.zeros((5, 5), dtype = int)
# 依次加值
arr += np.arange(5)
arr

9.7 创建一个范围在(0,1)之间的长度为12的等差数列,创建[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]等比数列。

# 创建一个范围在(0,1)之间的长度为12的等差数列
# 创建[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]等比数列
import numpy as np
# 等差数列
arr = np.linspace(0,1,12)
display(arr)
# 等比数列
arr2 = np.logspace(0, 10, base = 2, num = 11, dtype = int)
arr2

9.8 创建一个长度为10的正太分布数组np.random.randn并排序

# 创建一个长度为10的正太分布数组np.random.randn并排序
import numpy as np
# 创建一个随机数组
arr = np.random.randn(10)
print('未排序:', arr)
# 调用 np.sort() 方法,需要一个新数组去接受数据
arr2 = np.sort(arr)
print('排序后:', arr2)

9.9 创建一个长度为10的随机数组并将最大值替换为-100

# 创建一个长度为10的随机数组并将最大值替换为-100
import numpy as np
# 不使用科学计数法
np.set_printoptions(suppress = True)
# 创造随机数组
arr = np.random.random(10)
print('原数据:', arr)
# 找到最大值
Max = arr.max()
# 进行条件判断
cnt = arr == Max
# 更改赋值
arr[cnt] = -100
# 输出更改后的数组
print('更改后:', arr)

9.10 如何根据第3列大小顺序来对一个5*5矩阵排序?

# 如何根据第3列大小顺序来对一个5*5矩阵排序?(考察argsort()方法)
import numpy as np
# 先来讲解 argsort() 方法:
arr = np.random.randint(0, 100, size = 5)
display(arr)
# argsort() 的作用是返回排序后的索引下标
index = np.argsort(arr)
display(index)
# 根据索引进行排序:花式索引
arr[index]
import numpy as np
# 返回到题目要求之中
arr = np.random.randint(0, 30, size = (5, 5))
display(arr)
# 获取第三列的索引顺序
index = arr[:, 2].argsort()
# 根据第三列的索引顺序,对 arr 进行排序
arr[index]



目录
相关文章
|
7月前
|
数据可视化 数据挖掘 C++
一文入门数分三剑客--Numpy、Pandas、Matplotlib
一文入门数分三剑客--Numpy、Pandas、Matplotlib
188 0
|
存储 数据可视化 数据挖掘
【数据分析入门】Numpy进阶
【数据分析入门】Numpy进阶
|
机器学习/深度学习 PyTorch TensorFlow
[深度学习入门]Numpy基础(上)
[深度学习入门]Numpy基础(上)
|
机器学习/深度学习 数据挖掘 索引
【数据分析入门】Numpy基础
【数据分析入门】Numpy基础
|
机器学习/深度学习 数据采集 数据挖掘
【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作
【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作
92 0
|
2月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
42 0
|
5月前
|
数据采集 数据可视化 数据挖掘
数据分析入门:用Python和Numpy探索音乐流行趋势
数据分析入门:用Python和Numpy探索音乐流行趋势
|
7月前
|
架构师 Java Python
NumPy 系列教程 001:入门和使用数组
NumPy 系列教程 001:入门和使用数组
46 0
|
7月前
|
C++ Python 索引
Python Numpy入门基础(二)数组操作
Python Numpy入门基础(二)数组操作
63 0
Python Numpy入门基础(二)数组操作
|
7月前
|
Python 索引
Python Numpy入门基础(一)创建数组
Python Numpy入门基础(一)创建数组
82 0
Python Numpy入门基础(一)创建数组