python四维数组_Python数据分析--1.1Numpy多维数组的创建与访问

在人工智能领域,很多的数学运算采用的都是NumPy这个库,本节课我们将从NumPy的基本使用开始,逐渐的去解决掉那些数学问题,让Python与数学深度的结合在一起。

NumPy的本质还是一个多维的数组对象,看到这句话的你,一定会有一个疑问。

它的原因是这样的,虽然我们之前学习过的数组对象和NumPy的数据表示看似一样,但是数组是无法直接参与数值运算的。而NumPy提供了非常多的科学计算方法,给我们提供了很大的便利,这也是我们为什么要学习它。

本文思维导图

环境介绍

先做一下环境介绍,如果你想要在本地环境使用它,那么你需要运行:

pip install numpy

若没有安装Jupyter,可以使用在线Jupyter lab

创建数组

创建一个数组

# 导入NumPy

import numpy as np

# 单个列表创建一维数组

arr1 = np.array([1,2,3,4,5,6])

当然你也可以像下边的代码这样,创建一个二维或是更多维度的数组:

import numpy as np

arr2 = np.array([[1,2,3,4],[4,5,6,7]])

print(arr2)

NumPy对象的两个属性

# 获取到数组的形状

arr2.shape

# 获取到数组中元素的类型

arr2.dtype

看到了数组获取到数组中元素的类型,你应该有一个问题,就是当我们创建数组的时候,如果我们并没有像上边那样,让所有的元素都是同一种类型,那会发生什么事情呢?我们在下面的代码框中实验一下吧。

import numpy as np

# 创建一个数组,元素包含浮点数和整数

arr1=np.array([2.1425,2])

# 打印它的数据类型

print(arr1.dtype)

# 创建一个数组,元素包含整数、浮点数和字符串

arr2=np.array([2.1425,2,'d'])

# 打印它的数据类型

print(arr2.dtype)

输出的结果是

float64

在只有整数和浮点数的时候,NumPy会把它们全部转化成为浮点数,但只要有了字符串时,就会把所有的元素全部转换成为字符串。打印的结果是

NumPy的访问

创建多维数组:

import numpy as np

arr=np.array([[1,2,3],

[4,5,6],

[7,8,9],

[10,11,12]])

arr

分别输入一下指令:

arr[1]

arr[1][0]

arr[:,1]

arr[:2]

arr[:,1:3]

输出结果为:

array([[ 1, 2, 3],

[ 4, 5, 6],

[ 7, 8, 9],

[10, 11, 12]])

#arr[1] 索引第一行数据

array([4, 5, 6])

#arr[1][0] 索引第一行,第0个数据

4

#arr[:,1] 索引全部行,第一列数据

array([ 2, 5, 8, 11])

#arr[:2] 从头开始索引,到第二行数据[0,2)

array([[1, 2, 3],

[4, 5, 6]])

#arr[:,1:3] 索引全部行,从第一列数据到第三列数据 【1,3)

array([[ 2, 3],

[ 5, 6],

[ 8, 9],

[11, 12]])

其中涉及到的记忆小技巧是:

1.逗号前为行筛选,逗号后为列筛选

2.出现1:3这种形式筛选范围时,左闭右开。

你可能感兴趣的:(python四维数组)