【Python 零基础入门】Numpy 常用函数 数组操作 & 数学运算

这篇具有很好参考价值的文章主要介绍了【Python 零基础入门】Numpy 常用函数 数组操作 & 数学运算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

Numpy (Numerical Python) 是 Python 编程语言的一个扩展程序库, 支持大量的维度数组与矩阵运算, 并提供了大量的数学函数库. Numpy 利用了多线程数组来存储和处理大型数据集, 从而提供了一个高效的方式来进行数值计算, 特别是对于矩阵预算和线性代数.

【Python 零基础入门】Numpy 常用函数 数组操作 & 数学运算,2024 Python 最新基础教程,# Python 零基础入门,python,numpy,开发语言,numpy 函数,numpy 数组操作,numpy 数组创建,python 零基础

Numpy 数组创建

【Python 零基础入门】Numpy 常用函数 数组操作 & 数学运算,2024 Python 最新基础教程,# Python 零基础入门,python,numpy,开发语言,numpy 函数,numpy 数组操作,numpy 数组创建,python 零基础

np.asarray

np.assarray可以将输入转换为 ndarray 数组.

格式:

import numpy as np

array = np.asarray(a, dtype=None, order=None)

参数:

  • a: 待转换的数据, 可以为列表, 元组等
  • dtype: 数据类型

例子:

# 创建数组
list1 = [1, 2, 3]

# 转换为 ndarray
ndarray1 = np.array(list1)
ndarray2 = np.array(list1, dtype=np.float32)

# 调试输出
print(list1)
print(ndarray1)
print(ndarray2)

输出结果:

[1, 2, 3]
[1 2 3]
[1. 2. 3.]

np.arange

np.arange是一个非常实用的函数, 用于创建一系列的值, 类似于 Python 中的range内置函数, 但是返回的是一个数组.

格式:

import numpy as np

array = np.arange(start, stop, step)

参数:

  • start: 数组开始值 (含), 默认为 0
  • stop: 数组结束值 (不含)
  • step: 数组步长

例子:

# 0-9
array1 = np.arange(10)
print(array1)

# 1-10
array2 = np.arange(1, 11)
print(array2)

# 1-10 奇数
array3 = np.arange(1, 11, 2)
print(array3)

输出结果:

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

np.linspace

np.linspace可以帮助我们创建一个等差数列.

格式:

import numpy as np

array = np.linspace(start, stop, num, endpoint)

参数:

  • start: 数组起始值
  • stop: 数组结束值
  • num: 生成的眼本书, 默认为 50
  • endpoint: 布尔值, 如果为 True, 则 “stop” 是最后一个样本, 否则不包括 “stop”, 默认为 True

例子:

# 包括 50
array1 = np.linspace(0, 50)
print(array1)

# 不包括 50
array1 = np.linspace(0, 50, endpoint=False)
print(array1)

# 样本为 10
array1 = np.linspace(5, 50, 10)
print(array1)

输出结果:

[ 0.          1.02040816  2.04081633  3.06122449  4.08163265  5.10204082
  6.12244898  7.14285714  8.16326531  9.18367347 10.20408163 11.2244898
 12.24489796 13.26530612 14.28571429 15.30612245 16.32653061 17.34693878
 18.36734694 19.3877551  20.40816327 21.42857143 22.44897959 23.46938776
 24.48979592 25.51020408 26.53061224 27.55102041 28.57142857 29.59183673
 30.6122449  31.63265306 32.65306122 33.67346939 34.69387755 35.71428571
 36.73469388 37.75510204 38.7755102  39.79591837 40.81632653 41.83673469
 42.85714286 43.87755102 44.89795918 45.91836735 46.93877551 47.95918367
 48.97959184 50.        ]
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17.
 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]
[ 5. 10. 15. 20. 25. 30. 35. 40. 45. 50.]

数组操作

【Python 零基础入门】Numpy 常用函数 数组操作 & 数学运算,2024 Python 最新基础教程,# Python 零基础入门,python,numpy,开发语言,numpy 函数,numpy 数组操作,numpy 数组创建,python 零基础

reshape

reshape方法用于改变数组形状而不改变其数据.

格式:

import numpy as np

reshaped_array = reshape(a, newshape)

参数:

  • a: 原始数组
  • newshape: 新的形状

例子:

array = np.arange(6)
reshaped_arrary = array.reshape(2, 3)

# 调试输出
print("原始数组:", array, sep="\n")
print("改变形状后的数组:", reshaped_arrary, sep="\n")

array = np.array([[0, 1, 2], [3, 4, 5]])
reshaped_arrary = array.reshape(-1)

# 调试输出
print("原始数组:", array, sep="\n")
print("改变形状后的数组:", reshaped_arrary, sep="\n")

输出结果:

原始数组:
[0 1 2 3 4 5]
改变形状后的数组:
[[0 1 2]
 [3 4 5]]
原始数组:
[[0 1 2]
 [3 4 5]]
改变形状后的数组:
[0 1 2 3 4 5]

flatten

flatten()可以帮助我们将多维数组降为 1 维数组.

格式:

import numpy as np

flattend_array = array.flatten()

例子:

# 创建原始 ndarray
array = np.array([[0, 1, 2], [3, 4, 5], [7, 8, 9]])

# 降为 1 维
flattened_array = array.flatten()

# 调试输出
print("原始数组:", array, sep="\n")
print("降为 1 维的数组:", flattened_array, sep="\n")

输出结果:

原始数组:
[[0 1 2]
 [3 4 5]
 [7 8 9]]
降为 1 维的数组:
[0 1 2 3 4 5 7 8 9]

concatenate

concatenate可以帮助我们沿着指定轴连接相同形状的两个或多个数组.

格式:

import numpy as np

concatenated_array = np.concatenate((a1, a2, ...), axis=0, out=None)

格式:

  • a1, a2: 需要连接的数组
  • axis: 连接轴, 默认为 0, 即纵向拼接, 如果为 1 则横向拼接
  • out: 放置结果的可选参数, 默认为 None

例子:

# 创建原始数组
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# 纵向拼接
v_concatenated_array = np.concatenate((array1, array2))  # axis 默认为 0

# 横向拼接
h_concatenated_array = np.concatenate((array1, array2), axis=1)

# 调试输出
print("纵向拼接:", v_concatenated_array, sep="\n")
print("横向拼接:", h_concatenated_array, sep="\n")

输出结果:

array 1:
[[1 2]
 [3 4]]
array 2:
[[5 6]
 [7 8]]
纵向拼接:
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
横向拼接:
[[1 2 5 6]
 [3 4 7 8]]

split

split函数可以帮助我们将一个数组分割为多个子数组.

格式:

import numpy as np

splitted_arrays = np.split(array, indices_or_sections, axis=0)

参数:

  • a: 带分割的数组
  • indices_or_sections: 如果是一个整数, 就将该数平均切分, 如果是数组, 为沿轴切分的位置 (左开有闭)
  • axis: 沿着哪个维度进行切分, 默认为 0

例子:

# 创建原始数组
array = np.arange(9)

# 分割数组为 3 等分
splitted_arrays = np.split(array, 3)

# 调试暑促
print("原始数组:", array)
print("分割后的数组:", splitted_arrays)

# 创建原始数组
array = np.arange(9)

# 以索引 2, 5 分割数组
splitted_arrays = np.split(array, [2, 5])

# 调试暑促
print("原始数组:", array)
print("分割后的数组:", splitted_arrays)

# 创建原始数组
array = np.arange(9).reshape(3, 3)

# 横向 3 等分
splitted_arrays = np.split(array, 3, axis=1)

# 调试暑促
print("原始数组:", array, sep="\n")
print("分割后的数组:", splitted_arrays, sep="\n")

输出结果:

原始数组: [0 1 2 3 4 5 6 7 8]
分割后的数组: [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
原始数组: [0 1 2 3 4 5 6 7 8]
分割后的数组: [array([0, 1]), array([2, 3, 4]), array([5, 6, 7, 8])]
原始数组:
[[0 1 2]
 [3 4 5]
 [6 7 8]]
分割后的数组:
[array([[0],
       [3],
       [6]]), array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]])]

vstack

vstack可以帮助我们将数组进行垂直堆叠.

格式:

import numpy as np

stacked_array = np.vstack((a1, a2, ...))

参数:

  • a1, a2: 需要迭代的数组
  • 返回: 纵向堆叠的数组

例子:

# 原始数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 纵向堆叠
stacked_array = np.vstack((array1, array2))

# 输出结果
print("array1:", array1)
print("array2:", array2)
print("纵向堆叠数组:", stacked_array, sep="\n")

输出结果:

array1: [1 2 3]
array2: [4 5 6]
纵向堆叠数组:
[[1 2 3]
 [4 5 6]]

hstack

hstack可以帮我们将数组进行水平堆叠.

格式:

import numpy as np

stacked_array = np.hstack((a1, a2, ...))

参数:

  • a1, a2: 需要迭代的数组
  • 返回: 横向堆叠的数组

例子:

# 原始数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
array3 = np.array([7, 8, 9])

# 横向堆叠
stacked_array = np.hstack((array1, array2, array3))

# 输出结果
print("array1:", array1)
print("array2:", array2)
print("array3:", array3)
print("横向堆叠数组:", stacked_array, sep="\n")

输出结果:

array1: [1 2 3]
array2: [4 5 6]
array3: [7 8 9]
横向堆叠数组:
[1 2 3 4 5 6 7 8 9]

数学运算

add 相加

相加

例子:

# 原始数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 相加
add_result = np.add(a, b)

# 调试输出
print("数组 a:", a)
print("数组 b:", b)
print("相加结果:", add_result)

subtract 相减

相减

例子:

# 原始数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 相减
subtract_result = np.subtract(a, b)

# 调试输出
print("数组 a:", a)
print("数组 b:", b)
print("相减结果:", subtract_result)

输出结果:

数组 a: [1 2 3]
数组 b: [4 5 6]
相减结果: [-3 -3 -3]

multiply 相乘

相乘

例子:

# 原始数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 相乘
multiply_result = np.multiply(a, b)

# 调试输出
print("数组 a:", a)
print("数组 b:", b)
print("相乘结果:", multiply_result)

输出结果:

数组 a: [1 2 3]
数组 b: [4 5 6]
相乘结果: [ 4 10 18]

divide 相除

相除

例子:

# 原始数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 相除
divide_result = np.divide(a, b)

# 调试输出
print("数组 a:", a)
print("数组 b:", b)
print("相除结果:", divide_result

输出结果:文章来源地址https://www.toymoban.com/news/detail-754849.html

数组 a: [1 2 3]
数组 b: [4 5 6]
相除结果: [0.25 0.4  0.5 ]

到了这里,关于【Python 零基础入门】Numpy 常用函数 数组操作 & 数学运算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python 零基础入门】常用内置函数 初探

    Python 是一种解释性, 高级和通用的变成语言. Python 由 Guido van Rossum 创建并 1991 年首次发布. Python 的设计强调代码的可读性, 其雨大允许我们使用相较于 C++ 或 Java 更少的代码表达概念. Python 使得变成变得更简单, 更快捷. 下面就跟着小白我来一起看一下 Python 常用的内置函数.

    2024年02月05日
    浏览(74)
  • 【Python 零基础入门】常用内置函数 再探

    Python 是一种解释性, 高级和通用的变成语言. Python 由 Guido van Rossum 创建并 1991 年首次发布. Python 的设计强调代码的可读性, 其雨大允许我们使用相较于 C++ 或 Java 更少的代码表达概念. Python 使得变成变得更简单, 更快捷. 下面就跟着小白我来一起看一下 Python 常用的内置函数.

    2024年02月04日
    浏览(44)
  • 【0基础入门Python笔记】三、python 之函数以及常用内置函数

    函数是一种用于封装可重复使用代码块的工具,能够将一系列操作组织成一个逻辑单元。 函数定义 在Python中,函数通过def进行定义,后面跟着函数的名称、参数列表和冒号。函数的主体代码块缩进,并在需要时使用return返回值。 在上面的示例中,我们定义了一

    2024年02月12日
    浏览(73)
  • 【Python入门知识】NumPy 数组搜索,案例+理论讲解

    前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 搜索数组 可以在数组中搜索(检索)某个值,然后返回获得匹配的索引。 要搜索数组,请使用 where() 方法。 实例 查找值为 4 的索引: 运行实例 更多python资料、源码、教程: 点击此处跳转文末名片获取 上例会返回一个元组:(array([

    2024年02月03日
    浏览(48)
  • 【深度学习】 Python 和 NumPy 系列教程(十二):NumPy详解:4、数组广播;5、排序操作

    目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象(ndarray) 多维数组的属性 1、创建数组 2、数组操作 3、数组数学 4、数组广播 5、排序操作 1. np.sort() 函数 2. np.argsort() 函数 3. ndarray.sort() 方法 4. 按列或行排序 5. np.lexsort() 函数 6. np.partition() 函数 7. np.argpartition() 函

    2024年02月08日
    浏览(67)
  • 【Python入门教程】Python常用表格函数&操作(xlrd、xlwt、openpyxl、xlwings)

    ​          在我们使用Python时,避免不了与Excel打交道。同样Python的三方库和代码的简洁性也为我们处理大数据提供了便利。今天给大家介绍一下常用的处理表格的函数,同时还有一些常用的操作。                  这些都是我在使用Python处理Excel时用到的相关代

    2024年02月08日
    浏览(76)
  • 【Python爬虫与数据分析】NumPy进阶——数组操作与运算

    目录 一、NumPy数组操作 1. ndarray更改形状 2. ndarray转置 3. ndarray组合 4. ndarray拆分 5. ndarray排序 二、NumPy数组运算 1. 基本运算 2. 逻辑函数 3. 数学函数 三、日期时间的表示和间隔 1. 日期时间的表示——datetime64 2. 日期时间的计算——timedelta64 3. datetime64与datetime的转换 在对数组进

    2024年02月15日
    浏览(49)
  • 【数据分析 - 基础入门之NumPy④】NumPy基本操作 - 一

    大家好!我是初心,本期给大家带来的是【【NumPy系列】基本操作 - 一。 作者的【 Python 数据分析】专栏正在火热更新中,如果本文对您有帮助,欢迎大家点赞 + 评论 + 收藏 ! 每日金句分享: 选择你所喜欢的,爱你所选择的。』—— 托尔斯泰「托尔斯泰 。 NumPy( Numerical Py

    2024年02月13日
    浏览(71)
  • 【Python 零基础入门】 Numpy

    在众多 Python 的数据处理库中, Numpy 是一个非常强大的存在. Numpy 为我们提供了高性能的多维数组, 以及这些数组对象上的各种操作. 但是, 作为一个刚入门 Python 的新手, 你可能会问: \\\"为什么我需要 Numpy, 而不是直接使用Python 的内置列表?\\\"在这篇文章的开篇, 我们就来探讨这个问

    2024年02月08日
    浏览(49)
  • 【深度学习】 NumPy详解(三):数组数学(元素、数组、矩阵级别的各种运算)

    目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象(ndarray) 多维数组的属性 1、创建数组 2、数组操作 3、数组数学 1. 元素级别 a. 直接运算 b. 加法:np.add()函数 c. 减法:np.subtract()函数 d. 乘法:np.multiply()函数 e. 除法:np.divide()函数 f. 幂运算:np.power()函数 g. 取余与求商

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包