c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

Python Numpy库纬度操作指南

陈婉璇 2023-09-12编程经验
什么是Numpy库?PythonNumpy(NumPyNumericPython的缩写)是一个基于Python语言的扩展程序库,支持大量高维数组和矩阵运算,尤其适用于科学计算和数据分析领域。NumPy库提供了快速的

什么是Numpy库?

Python Numpy(NumPy Numeric Python的缩写)是一个基于Python语言的扩展程序库,支持大量高维数组和矩阵运算,尤其适用于科学计算和数据分析领域。NumPy库提供了快速的数学函数处理、矩阵运算、线性代数、随机数生成等功能。NumPy中的核心对象是 ndarray,它是具有相同类型和大小的 n 维数组,可以高效地存储和操作数据。

import numpy as np

# 创建一维数组
a = np.array([1, 2, 3])
print(a)

# 创建二维数组
b = np.array([[1, 2], [3, 4]])
print(b)

输出结果如下:

[1 2 3]
[[1 2]
 [3 4]]

如何操作Numpy数组的维度?

Numpy库提供了许多函数和方法来操作数组的维度,例如重塑、展平、合并等。其中,reshape()函数指定新的形状,resize()函数则直接修改原始数组:

import numpy as np

# 重塑数组维度
a = np.array([[1, 2], [3, 4], [5, 6]])
b = a.reshape((2, 3))
print(b)

# 修改数组尺寸
c = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
d = c.resize((3, 3))
print(d)

输出结果如下:

[[1 2 3]
 [4 5 6]]
None

Numpy的维度转换函数

Numpy库提供了一些函数来转换数组的维度,包括 transpose()函数、flatten()函数以及 ravel()函数。transpose()函数用于交换数组的维度,flatten()函数返回一个一维数组,ravel()函数也返回一个一维数组,但它直接返回原始数组的视图(如果可能的话),而不是复制一个副本。

import numpy as np

# 转置数组
a = np.array([[1, 2], [3, 4], [5, 6]])
b = a.transpose()
print(b)

# 扁平化数组
c = np.array([[1, 2], [3, 4]])
d = c.flatten('C')
print(d)

# 拉平数组
e = np.array([[1, 2], [3, 4]])
f = e.ravel()
print(f)

输出结果如下:

[[1 3 5]
 [2 4 6]]
[1 2 3 4]
[1 2 3 4]

数组组合与拆分操作

Numpy库提供了一些函数来组合和拆分数组,包括 concatenate()函数、vstack()函数和 hstack()函数。concatenate()函数可以沿着任意维度将多个数组堆叠在一起,vstack()函数将数组垂直堆叠在一起,hstack()函数将数组水平堆叠在一起。

import numpy as np

# 拼接数组
a = np.array([[1, 2], [3, 4], [5, 6]])
b = np.array([[7, 8], [9, 10], [11, 12]])
c = np.concatenate((a, b), axis=0)
print(c)

# 垂直组合数组
d = np.array([1, 2, 3])
e = np.array([4, 5, 6])
f = np.vstack((d, e))
print(f)

# 水平组合数组
g = np.array([1, 2, 3])
h = np.array([4, 5, 6])
i = np.hstack((g, h))
print(i)

输出结果如下:

[[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]]
[[1 2 3]
 [4 5 6]]
[1 2 3 4 5 6]

文章评论