机器学习—NumPy基础
发布人:shili8
发布时间:2025-01-29 07:48
阅读次数:0
**机器学习——NumPy基础**
NumPy(Numerical Python)是Python中一个非常强大的库,用于高效的数值计算。它提供了多维数组数据类型,以及各种操作这些数据的函数。NumPy是机器学习领域的一个基本工具,几乎所有的机器学习库都依赖于它。
**什么是NumPy**
NumPy是一个Python扩展包,它为Python程序员提供了一种高效、快速的数值计算方式。NumPy数组(ndarray)是其核心数据类型,可以存储多维数据,并支持各种数学运算和函数操作。
**NumPy数组**
NumPy数组是NumPy最基本的数据结构,类似于Python列表,但具有更高的性能和灵活性。一个NumPy数组可以包含多个维度的数据,每个维度都可以有不同的大小。
import numpy as np# 创建一个一维数组arr1 = np.array([1,2,3,4,5]) print(arr1) # 创建一个二维数组arr2 = np.array([[1,2], [3,4]]) print(arr2)
**NumPy数组的属性**
NumPy数组有以下几个重要的属性:
* `shape`: 返回数组的形状,即其维度和大小。
* `size`: 返回数组的总元素数。
* `dtype`: 返回数组的数据类型。
import numpy as np# 创建一个一维数组arr = np.array([1,2,3,4,5]) # 获取数组的形状、大小和数据类型print(arr.shape) # (5,) print(arr.size) #5print(arr.dtype) # int64
**NumPy数组的基本操作**
NumPy数组支持各种基本运算,包括加法、减法、乘法、除法等。
import numpy as np# 创建两个一维数组arr1 = np.array([1,2,3,4,5]) arr2 = np.array([6,7,8,9,10]) # 进行加法运算result = arr1 + arr2print(result) # 进行减法运算result = arr1 - arr2print(result)
**NumPy数组的函数操作**
NumPy提供了各种函数来处理数组数据,例如求和、平均值、最大值、最小值等。
import numpy as np# 创建一个一维数组arr = np.array([1,2,3,4,5]) # 求和result = np.sum(arr) print(result) #15# 求平均值result = np.mean(arr) print(result) #3.0# 求最大值result = np.max(arr) print(result) #5# 求最小值result = np.min(arr) print(result) #1
**NumPy数组的索引和切片**
NumPy数组支持索引和切片操作,类似于Python列表。
import numpy as np# 创建一个一维数组arr = np.array([1,2,3,4,5]) # 索引第一个元素result = arr[0] print(result) #1# 切片前三个元素result = arr[:3] print(result) # [123] # 切片后两个元素result = arr[-2:] print(result) # [45]
**NumPy数组的转置**
NumPy数组支持转置操作,通过使用 `np.transpose()` 或 `arr.T` 来实现。
import numpy as np# 创建一个二维数组arr = np.array([[1,2], [3,4]]) # 转置数组result = arr.Tprint(result)
**NumPy数组的reshape**
NumPy数组支持reshape操作,通过使用 `np.reshape()` 或 `arr.reshape()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2,3,4,5]) # reshape为二维数组result = arr.reshape(2,2) print(result)
**NumPy数组的concatenate**
NumPy数组支持concatenate操作,通过使用 `np.concatenate()` 或 `np.vstack()` 和 `np.hstack()` 来实现。
import numpy as np# 创建两个一维数组arr1 = np.array([1,2]) arr2 = np.array([3,4]) # 使用vstack进行垂直连接result = np.vstack((arr1, arr2)) print(result) # 使用hstack进行水平连接result = np.hstack((arr1, arr2)) print(result)
**NumPy数组的repeat**
NumPy数组支持repeat操作,通过使用 `np.repeat()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # repeat为长度为5的数组result = np.repeat(arr,5) print(result)
**NumPy数组的resize**
NumPy数组支持resize操作,通过使用 `np.resize()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # resize为长度为3的数组result = np.resize(arr,3) print(result)
**NumPy数组的fill**
NumPy数组支持fill操作,通过使用 `np.fill()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # fill为值为5的数组result = np.fill(arr,5) print(result)
**NumPy数组的copy**
NumPy数组支持copy操作,通过使用 `np.copy()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # copy为新数组result = np.copy(arr) print(result)
**NumPy数组的view**
NumPy数组支持view操作,通过使用 `np.view()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # view为新数组result = np.view(arr) print(result)
**NumPy数组的astype**
NumPy数组支持astype操作,通过使用 `np.astype()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # astype为int64类型result = arr.astype(np.int64) print(result)
**NumPy数组的dtype**
NumPy数组支持dtype操作,通过使用 `np.dtype()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # dtype为int64类型result = arr.dtypeprint(result)
**NumPy数组的shape**
NumPy数组支持shape操作,通过使用 `np.shape()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # shape为(2,) result = arr.shapeprint(result)
**NumPy数组的size**
NumPy数组支持size操作,通过使用 `np.size()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # size为2result = arr.sizeprint(result)
**NumPy数组的ndim**
NumPy数组支持ndim操作,通过使用 `np.ndim()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # ndim为1result = arr.ndimprint(result)
**NumPy数组的itemsize**
NumPy数组支持itemsize操作,通过使用 `np.itemsize()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # itemsize为4result = arr.itemsizeprint(result)
**NumPy数组的nbytes**
NumPy数组支持nbytes操作,通过使用 `np.nbytes()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # nbytes为8result = arr.nbytesprint(result)
**NumPy数组的flat**
NumPy数组支持flat操作,通过使用 `np.flat()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1,2]) # flat为[12] result = arr.flatprint(result)
**NumPy数组的compressed**
NumPy数组支持compressed操作,通过使用 `np.compressed()` 来实现。
import numpy as np# 创建一个一维数组arr = np.array([1