(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

人工智能33

一:修改数组形状

①:使用 reshape() 可以在不改变数据的条件下修改数组形状,格式如下

numpy.reshape(arr, newshape, order='C')
  • arr:要修改形状的数组
  • newshape:整数或者整数数组,新的形状应当兼容原有形状
  • order:'C' – 按行,'F' – 按列,'A' – 原顺序,'k' – 元素在内存中的出现顺序

举例

a = np.random.randint(0, 100, 9)
print(a)
print("-"*20)
b = a.reshape(3, 3)
c = reshape(a, [3, 3], 'F')
print(b)
print("-"*20)
print(c)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

②:使用 flatteen(order = 'C') 可以展开数组

  • order:'C' – 按行,'F' – 按列,'A' – 原顺序,'k' – 元素在内存中的出现顺序

举例

a = np.random.randint(0, 10, size=[6, 6])
print(a)
print("-"*20)
b = a.flatten()
c = a.flatten('F')
print(b)
print("-"*20)
print(c)
print("-"*20)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

二:翻转数组

①:使用 transpose() 可以对换数组维度,格式如下

numpy.transpose(arr, axes)
  • arr:要操作的数组
  • axes:整数列表,对应维度,通常所有维度都会对换

举例

a = np.random.randint(0, 10, size=[3, 4])
print(a)
print("-"*20)
b = np.transpose(a)
print(b)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

②: numpy.rollaxis() 向后滚动特定的轴到一个特定位置,格式如下

numpy.rollaxis(arr, axis, start)
  • arr:数组
  • axis:要向后滚动的轴,其它轴的相对位置不会改变
  • start:默认为零,表示完整的滚动。会滚动到特定位置

③: numpy.swapaxes() 用于交换数组的两个轴,格式如下

numpy.swapaxes(arr, axis1, axis2)
  • arr:输入的数组
  • axis1:对应第一个轴的整数
  • axis2:对应第二个轴的整数

举例

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

a = np.random.randint(0, 10, size=[2, 3, 3])
print(a)
print("-"*20)
b = np.swapaxes(a, 0, 2)
print(b)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

三:修改数组维度

①使用 numpy.expand_dims() 通过在指定位置插入新的轴来扩展数组形状,函数格式如下

numpy.expand_dims(arr, axis)
  • arr:输入数组
  • axis:新轴插入的位置

举例

如下,二维数组是(axis0, axis1),三维数组是(axis0, axis1, axis2)。在axis=0处插入轴,所以(3, 3)变为(1, 3, 3);在axis=1处插入轴,所以(3, 3)变为(3, 1, 3)

a = np.random.randint(0, 10, size=[3, 3])
print(a)
print("-"*20)
b = np.expand_dims(a, axis=0)
c = np.expand_dims(a, axis=1)
print(b)
print("-"*20)
print(c)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

②: numpy.squeeze() 从给定数组的形状中删除一维的条目,用于降维,函数格式如下

numpy.squeeze(arr, axis)
  • arr:输入数组
  • axis:整数或整数元组,用于选择形状中一维条目的子集

举例

a = np.random.randint(0, 10, size=[1, 3, 3])
print(a)
print("-"*20)
b = np.squeeze(a)
print(b)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

四:连接数组

①: numpy.concatenate() 用于沿指定轴连接相同形状的两个或多个数组,格式如下

numpy.concatenate((a1, a2, ...), axis)
  • a1, a2, ...:相同类型的数组
  • axis:沿着它连接数组的轴,默认为 0(简单来说:axis 0向下;axis 1向右)

举例

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.concatenate((a, b), axis=0)
d = np.concatenate((a, b), axis=1)
print(a)
print("-"*20)
print(b)
print("-"*20)
print(c)
print("-"*20)
print(d)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

②: numpy.stack() 用于沿新轴连接数组序列,格式如下

numpy.stack(arrays, axis)
  • arrays:相同形状的数组序列
  • axis:返回数组中的轴,输入数组沿着它来堆叠

五:分割数组

①: numpy.split() 可以沿特定的轴将数组分割为子数组,格式如下

numpy.split(ary, indices_or_sections, axis)
  • ary:被分割的数组
  • indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭)
  • axis:设置沿着哪个方向进行切分,默认为 0,横向切分,即水平方向。为 1 时,纵向切分,即竖直方向

举例

a = np.random.randint(0, 10, size=[2, 4, 4])
print(a)
print("-"*20)
b = np.split(a, 2, 0)
print(b[0])
print("-"*20)
c = np.split(b[0], 2, 1)
print(c)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

六:数组元素的添加与删除

①: numpy.resize() 可以返回指定大小的新数组,如果新数组大小大于原始大小,则包含原始数组中的元素的副本

numpy.resize(arr, shape)
  • arr:要修改大小的数组
  • shape:返回数组的新形状

举例

a = np.random.randint(0, 10, size=[2, 3])
print(a)
print("-"*20)
b = np.resize(a, [3, 2])
c = np.resize(a, [3, 3])
print(b)
print("-"*20)
print(c)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

②: numpy.append() 可以 在数组的末尾添加值。 追加操作会分配整个数组,并把原来的数组复制到新数组中。 此外,输入数组的维度必须匹配否则将生成 ValueError ;且该函数返回的始终是一个一维数组

numpy.append(arr, values, axis=None)
  • arr:输入数组
  • values:要向arr添加的值,需要和arr形状相同(除了要添加的轴)
  • axis:默认为 None。当axis无定义时,是横向加成,返回总是为一维数组!当axis有定义的时候,分别为0和1的时候。当axis有定义的时候,分别为0和1的时候(列数要相同)。当axis为1时,数组是加在右边(行数要相同)

举例

a = np.random.randint(0, 10, size=[2, 3])
print(a)
print("-"*20)
b = np.append(a, [np.random.randint(0, 10, 3)])
print(b)
print("-"*20)
c = np.append(a, [np.random.randint(0, 10, 3)], axis=0)
print(c)
print("-"*20)
d = np.append(a, [np.random.randint(0, 10, 3), np.random.randint(0, 10, 3)], axis=1)
print(d)
print("-"*20)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

③: numpy.delete() 可以返回从输入数组中删除指定子数组的新数组

Numpy.delete(arr, obj, axis)
  • arr:输入数组
  • obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
  • axis:沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开

举例

a = np.arange(12).reshape(3, 4)
print(a)
print("-"*20)
b = np.delete(a, 5)
print(b)
print("-"*20)
c = np.delete(a, 1, axis=1)
print(c)
print("-"*20)

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

Original: https://blog.csdn.net/qq_39183034/article/details/124347296
Author: 我擦我擦
Title: (机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作



相关阅读

Title: 在jupyter notebook中配置GPU

1. 打开Anaconda Prompt,查看虚拟环境中安装了那些kernel

jupyter kernelspec list

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作
目前环境中有两个环境,一个是我们的base环境,另一个是我们新安装的tensorflowGPU版本。如果要删除新安装的GPU版本,直接按照上面的路径删除文件夹即可。接下来正式在jupyter notebook中配置GPU。

2.打开Anaconda Prompt,安装ipykernel

conda install ipykernel

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

3.接下来创建ipykernel文件

conda install -n 环境名称 ipykernel

我的GPU版本为tensorflow,所以执行以下命令即可:

conda install -n tensorflow ipykernel

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

4.进入我们的GPU环境(首先你要有这个环境)

activate 环境名称

我的GPU版本为tensorflow,所以执行以下命令即可:

conda activate tensorflow

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作
出现tensoflow,则说明切换环境成功。

5.在tensorflow环境中导入kernel

python -m ipykernel install --user --name 环境名称

我的GPU版本为tensorflow,所以执行以下命令即可:

python -m ipykernel install --user --name tensorflow

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作
此时,你可以按照上面的路径查看jupyter中是否存在tensorflow这个文件夹
(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作

接下来在桌面打开jupyter notebook,查看是否存在新安装的版本

在Anaconda Prompt中输入jupyter notebook
(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作
点击Desktop,再点击New,你就看见两个kernel
(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作
点击tensorflow,进入到这个GPU版本,输入以下代码检验是否可以运行

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
print('GPU:', tf.test.is_gpu_available())

(机器学习-深度学习快速入门)第二章数据分析基本工具Numpy-第四节:Numpy之数组操作
出现红色标记说明安装成功!!!!!

Original: https://blog.csdn.net/TYJ00/article/details/124453197
Author: 菜鸟要爱学习
Title: 在jupyter notebook中配置GPU

相关文章
数据分析项目-用户消费行为分析 人工智能

数据分析项目-用户消费行为分析

目录 导入及分析 第一部分:数据清洗 导包 数据加载&分析数据 数据清洗 第二部分:按月数据分析 分析方向:用户、订单、消费趋势 消费趋势的分析 1. 每月的消费总金额 2. 每月的消费次数 ...
对抗生成网络(GAN)详解 人工智能

对抗生成网络(GAN)详解

目录 前言 目标函数 原理 训练 给定生成器,训练判别器 给定判别器,训练生成器 总结 前言 之前的生成模型侧重于将分布函数构造出来,然后使用最大似然函数去更新这个分布函数的参数,从而优化分布函数,但...
数据分析笔记-认识数据分析(一) 人工智能

数据分析笔记-认识数据分析(一)

ps:以下为本人学习数据分析总结笔记,内容包含网上搜索及个人补充(感谢各位大佬的资料),主要是记录一下自己的成长历程,以及方便后续复习查看。 一、什么是数据分析 数据分析是指运用适当的统计分析方法对收...