机器学习入门常用包-numpy篇(一)数组生成

目录

前言

开头准备工作

最重要的,当然是导入包👍

python的numpy安装方法👇

铺垫知识🍭

(一)python内置数组

(二)numpy的ndarray类-高维数组

数组创建方法

(一)简单法/转换法

(二)用arange创建有规律的数组

(三)用linspace创建有规律的数组

(四)ones全1 数组

(五)zeros全0数组

(六)eye单位张量/任意对角线数组

(七)从已知数据创建


前言

本文为基于python的numpy的使用教程,课程为蓝桥云课免费课程-(人工智能组)蓝桥杯直通国赛班.笔者仅分享学习笔记,作为学习记录抛砖引玉

直达👇

蓝桥杯直通国赛班(人工智能组)【已结课】_15届蓝桥杯 - 蓝桥云课 (lanqiao.cn)

开头准备工作

最重要的,当然是导入包👍

import numpy as np
#简单解释,引入 numpy,简称np

python的numpy安装方法👇

大佬写的很好,直接参考即可

python如何安装numpy模块?_numpy怎么安装-CSDN博客

铺垫知识🍭

(一)python内置数组

  • 列表:[1, 2, 3]

特点:创建后可以修改,符号是[ ]

  • 元组:(1, 2, 3, 4, 5)

特点:元组与列表相似,不同之处在于元组的元素不能修改。符号是( )

  • 字典:{A:1, B:2}

特点:由键和值构成

为什么需要numpy: 

python 标准类针对数组的处理局限于 1 维数组,并仅提供少量的功能。

numpy核心功能ndarray多维数组对, 拥有对高维数组的处理能力,可以处理多维数组.

(二)numpy的ndarray类-高维数组

具有六个参数,它们分别为:

  • shape:数组的形状。
  • dtype:数据类型。
  • buffer:对象暴露缓冲区接口。
  • offset:数组数据的偏移量。
  • strides:数据步长。
  • order{'C','F'},以行或列为主排列顺序。

数组创建方法

(一)简单法/转换法

使用 numpy.array 将列表或元组转换为 ndarray 数组

函数原型

numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)

参数说明

  • object:列表、元组等。
  • dtype:数据类型。如果未给出,则类型为被保存对象所需的最小类型。
  • copy:布尔类型,默认 True,表示复制对象。
  • order:顺序。
  • subok:布尔类型,表示子类是否被传递。
  • ndmin:生成的数组应具有的最小维数。

例子:

# 傻瓜法(直球法)创建一维/多维数组
a=np.array([[1,2,3],[4,5,6]])
print(a)

输出

(二)用arange创建有规律的数组

arange() 的功能:在给定区间内创建一系列均匀间隔的值

解释:能够均匀地创建数字,然后组成有规律的数组

numpy.arange(start, stop, step, dtype=None)

参数说明

start, stop:区间 [开始, 停止),这是一个左闭右开区间

step: 步长用于设置值之间的间隔

可选参数 dtype:可以设置返回ndarray 的值类型

例子:

# 步长法(间隔法)创建一维数组
b=np.arange(2,6,0.5,dtype='float32')
print(b)

输出

(三)用linspace创建有规律的数组

linspace 用于在指定的区间内返回间隔均匀的值。

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数说明

  • start:序列的起始值
  • stop:序列的结束值
  • num:生成的样本数。默认值为50
  • endpoint:布尔值,如果为真,则最后一个样本包含在序列内(这个可以变成闭区间)
  • retstep:布尔值,如果为真,返回间距
  • dtype:数组的类型

例子

# 除法(总数)法创建一维数组
c=np.linspace(2,7,num=8,endpoint=True,retstep=True,dtype=None)
print(c)

输出

(四)ones全1 数组

numpy.ones 用于快速创建数值全部为 1 的多维数组

numpy.ones(shape, dtype=None, order='C')

参数说明

  • shape:用于指定数组形状,例如(1, 2)或 3。
  • dtype:数据类型。
  • order{'C','F'},按行或列方式储存数组。

例子

# 全1数组创建法(行,列)
d=np.ones((3,4))
print(d)

输出

(五)zeros全0数组

numpy.zeros 用于快速创建数值全部为0 的多维数组

numpy.zeros(shape, dtype=None, order='C')

参数说明

  • shape:用于指定数组形状,例如(1, 2)或 3。
  • dtype:数据类型。
  • order{'C','F'},按行或列方式储存数组。

例子

# 全0数组创建法
e=np.zeros((3,4))
print(e)

输出

(六)eye单位张量/任意对角线数组

numpy.eye 用于创建一个二维数组,其特点是 k 对角线上的值为 1,其余值全部为 0

numpy.eye(N, M=None, k=0, dtype=<type 'float'>)

参数说明

  • N:输出数组的行数。
  • M:输出数组的列数。
  • k:对角线索引:0(默认)是指主对角线,正值是指上对角线,负值是指下对角线。

例子

# 单位张量,只有第k条对角线上有1,其余全为0 (k为0 指主对角线,n行m列) 
# numpy.eye(N, M=None, k=0, dtype=<type 'float'>)
f=np.eye(5,5)
print(f)

输出

(七)从已知数据创建

可以从已知数据文件、函数中创建 ndarray。NumPy 提供了下面 5 个方法:

frombuffer(buffer):将缓冲区转换为 1 维数组

fromfile(file,dtype,count,sep):从文本或二进制文件中构建多维数组

fromfunction(function,shape):通过函数返回值来创建多维数组

fromiter(iterable,dtype,count):从可迭代对象创建 1 维数组

fromstring(string,dtype,count,sep):从字符串中创建 1 维数组

例子

# 把已知数据转换/创建成数组
g=np.fromfunction(lambda a, b: a + b, (5, 4))
print(g)

输出

以上为笔者的学习笔记,如有不妥,希望各位批评指正0v0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值