iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用NumPy进行数组数据处理的示例详解
  • 603
分享到

使用NumPy进行数组数据处理的示例详解

NumPy数组数据处理NumPy 数据处理NumPy数组数据 2023-03-22 17:03:29 603人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录介绍Ndarray1.ndarray的操作2.ndarray的参数3.例子介绍 NumPy是python中用于数值计算的核心包之一,它提供了大量的高效数组操作函数和数学函数。它支

介绍

NumPy是python中用于数值计算的核心包之一,它提供了大量的高效数组操作函数和数学函数。它支持多维数组和矩阵运算,并且可以集成C/C++和Fortran的代码,因此可以非常高效地处理大量数据。以下是NumPy的一些主要功能和用途:

1.多维数组:NumPy的核心是ndarray(N维数组)对象,可以用来存储同类型的元素。这些数组可以是一维、二维或更高维度。它们提供了方便的数组索引和切片,以及许多基本操作和计算(如加、减、乘、除、取幂等)。

2.数组操作:NumPy提供了大量的数组操作函数,包括数学函数(如三角函数、指数函数、对数函数等)、逻辑函数(如布尔运算、比较运算、逻辑运算等)、排序函数、统计函数等。

3.矩阵操作:NumPy提供了矩阵操作函数,如矩阵加、减、乘、转置、求逆等,可以方便地进行线性代数计算。

4.随机数生成:NumPy可以生成各种随机数,如正态分布、均匀分布、泊松分布、贝努利分布等,以及随机排列和随机选择等。

5.文件io:NumPy可以读写各种文件格式,包括文本文件、二进制文件和matlab文件等,以便于数据的存储和传输。

6.与其他Python库的整合:NumPy可以方便地与其他Python库(如pandas、SciPy、matplotlib等)整合使用,以进行数据分析、科学计算和可视化等。

import numpy as np

Ndarray

1.ndarray的操作

将列表数据生成array()

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

确认数据类型

print(a.dtype)  # int32

如果将浮点数代入整数型数组里,数据自动变为整数型(小数点以下自动舍掉)

a[1] = -3.6
print(a)  # [1 -3 3 4 5]

变换数据类型

a2 = a.astype(np.float32)
print(a2, a2.dtype)  # [1. -3. 3. 4. 5.] float32

二维数组

b = np.array([[1, 2, 3],
              [3.2, 5.3, 6.6]])
print('b=', b)  # b= [[1.  2.  3. ][3.2 5.3 6.6]]
print('b[1,2]=', b[1,2])  # b[1,2] = 6.6

2.ndarray的参数

  • ndarry.ndim         数组的维数
  • ndarry.shape       数组的行列数
  • ndarry.size          元素的个数
  • ndarry.dtype        数据的类别
print('ndim =', a.ndim, b.ndim)
print('shape =', a.shape, b.shape)
print('size =', a.size, b.size)
print('dtype =', a.dtype, b.dtype)
 
# ndim = 1 2
# shape = (5,) (2, 3)
# size = 5 6
# dtype = float32 float64

reshape进行数组重组(元素数不变)

print(b.reshape(6)) # 转为1维数组 [ 1.   2.  -1.1  3.2  5.3  6.6]
print(b.reshape(3,2)) # 转为3行2列数组 [[ 1.   2. ][-1.1  3.2][ 5.3  6.6]]
print(b.T) # 矩阵的转置 [[ 1.   3.2][ 2.   5.3][-1.1  6.6]]

矩阵的计算

矩阵与数值的四则运算时,各个值都进行运算

print(b+2)  #[[3.  4.  0.9][5.2 7.3 8.6]]
print(b-2)  #[[-1.   0.  -3.1][ 1.2  3.3  4.6]]
print(b*2)  #[[ 2.   4.  -2.2][ 6.4 10.6 13.2]]
print(b/2)  #[[ 0.5   1.   -0.55][ 1.6   2.65  3.3 ]]
print(b**3) #3次幂 [[  1.      8.     -1.331][ 32.768 148.877 287.496]]
print(b//1) #用这种方法舍掉小数 [[ 1.  2. -2.][ 3.  5.  6.]]

同维度矩阵计算时,相同位置的值进行运算(矩阵维度不同时报错)

c = b/2
print(b+c)  # [[ 1.5   3.   -1.65][ 4.8   7.95  9.9 ]]
print(b-c)  # [[ 0.5   1.   -0.55][ 1.6   2.65  3.3 ]]
print(b*c)  # [[ 0.5    2.     0.605][ 5.12  14.045 21.78 ]]
print(b/c)  # [[2. 2. 2.][2. 2. 2.]]

行列の積は「@」

a行b列×b行c列=a行c列の行列

A = np.arange(6).reshape(3,2)
B = np.arange(8).reshape(2,4)
print(A)  #[[0 1][2 3][4 5]]
print(B)  #[[0 1 2 3][4 5 6 7]]
print(A@B)  #[[ 4  5  6  7][12 17 22 27][20 29 38 47]]

矩阵的生成

1维矩阵的生成(初始值,终止值,条件)

  • arange 条件为指定步长,总数自动决定,不包括终止值
  • linspace 条件为总数,步长自动决定,包括终止值
np.arange(0,10,0.1)
# array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
#      1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,
#      2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,
#      3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1,
#      5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4,
#      6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7,
#      7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9. ,
#      9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9])
 
np.linspace(0,10,100)
# array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ,
#       1.1,  1.2,  1.3,  1.4,  1.5,  1.6,  1.7,  1.8,  1.9,  2. ,  2.1,
#       2.2,  2.3,  2.4,  2.5,  2.6,  2.7,  2.8,  2.9,  3. ,  3.1,  3.2,
#       3.3,  3.4,  3.5,  3.6,  3.7,  3.8,  3.9,  4. ,  4.1,  4.2,  4.3,
#       4.4,  4.5,  4.6,  4.7,  4.8,  4.9,  5. ,  5.1,  5.2,  5.3,  5.4,
#       5.5,  5.6,  5.7,  5.8,  5.9,  6. ,  6.1,  6.2,  6.3,  6.4,  6.5,
#       6.6,  6.7,  6.8,  6.9,  7. ,  7.1,  7.2,  7.3,  7.4,  7.5,  7.6,
#       7.7,  7.8,  7.9,  8. ,  8.1,  8.2,  8.3,  8.4,  8.5,  8.6,  8.7,
#       8.8,  8.9,  9. ,  9.1,  9.2,  9.3,  9.4,  9.5,  9.6,  9.7,  9.8,
#       9.9, 10. ])

多维矩阵

np.zeros((3,2)) 
 
#array([[0., 0.],
#      [0., 0.],
#      [0., 0.]])
 
np.ones((5,2,3), dtype=np.int16)
 
# array([[[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]]], dtype=int16)
 
print(np.ones((5,2,2))*128)
 
[[[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]]

3.例子

生成随机二维数组

rnd = np.random.random((5,5))
print(rnd)
 
# [[0.61467866 0.38383428 0.4604147  0.41355961 0.22680966]
#  [0.83895625 0.49135984 0.21811832 0.91433166 0.18616649]
#  [0.80176894 0.23622139 0.87041535 0.59623534 0.93986178]
#  [0.48324671 0.62398314 0.82435621 0.92421743 0.84660406]
#  [0.63578052 0.99794079 0.46970418 0.85743179 0.11774799]]

生成图像

plt.imshow(rnd, cmap='gray')
plt.colorbar()  #0为黑色,1为白色

plt.imshow(rnd>0.5, cmap='gray')
plt.colorbar()

color_img = np.array([
    [[255,0,0],
     [0,255,0],
     [0,0,255]],
    [[255,255,0],
     [0,255,255],
     [255,0,255]],
    [[255,255,255],
     [128,128,128],
     [0,0,0]],
])
plt.imshow(color_img)

到此这篇关于使用NumPy进行数组数据处理的示例详解的文章就介绍到这了,更多相关NumPy数组数据处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用NumPy进行数组数据处理的示例详解

本文链接: https://www.lsjlt.com/news/200904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用NumPy进行数组数据处理的示例详解
    目录介绍Ndarray1.ndarray的操作2.ndarray的参数3.例子介绍 NumPy是Python中用于数值计算的核心包之一,它提供了大量的高效数组操作函数和数学函数。它支...
    99+
    2023-03-22
    NumPy数组数据处理 NumPy 数据处理 NumPy数组数据
  • 怎么使用NumPy进行数组数据处理
    本篇内容主要讲解“怎么使用NumPy进行数组数据处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用NumPy进行数组数据处理”吧!介绍NumPy是Python中用于数值计算的核心包之一,...
    99+
    2023-07-05
  • Python3进行表格数据处理的示例详解
    目录技术背景python对Excel表格的处理vaex的安装与使用vaex的安装性能对比数据格式转换总结概要技术背景 数据处理是一个当下非常热门的研究方向,通过对于大型实际场景中的数...
    99+
    2023-03-14
    Python3实现表格数据处理 Python3表格数据处理 Python表格数据处理
  • Numpy 数据处理 ndarray使用详解
    目录1. ndarray的属性2. 数组的形状3. ndarray的类型1. ndarray的属性 数组的属性反映了数组本身固有的信息。常用的查看数组属性的相关语法如下表格所示: 属...
    99+
    2024-04-02
  • 如何使用NumPy进行高效的数据处理?
    NumPy是Python科学计算的核心库,它提供了一系列高效的数据结构和算法,能够大大简化数据处理和分析的过程。在本文中,我们将介绍如何使用NumPy进行高效的数据处理。 安装NumPy 在开始使用NumPy之前,需要先安装它。可以使用...
    99+
    2023-06-17
    教程 编程算法 numy
  • PHP 中如何使用数组进行数据处理?
    PHP是一种广泛应用于Web开发的脚本语言。在PHP中,数组是一种非常重要的数据结构,用于存储和处理大量数据。数组提供了一种方便的方式来组织和访问数据,使得数据处理变得更加容易和高效。在本文中,我们将介绍PHP中如何使用数组进行数据处理,希...
    99+
    2023-10-24
    数组 unix numpy
  • 使用Sharding-JDBC对数据进行分片处理详解
    目录前言一、加入依赖二、修改application.yml配置文件三、数据源定义四、数据源分配算法实现五、数据表分配算法六、数据源配置七、开始测试定义一个实体定义实体DAO测试类,插...
    99+
    2024-04-02
  • Go 中的 NumPy 数组:如何使用函数进行数据操作?
    Go 语言作为一种开源的编程语言,一直受到程序员的喜爱。尤其在数据科学和机器学习领域,Go 语言也有着不俗的表现。其中一个重要的数据处理工具是 NumPy 数组,它能够快速高效地处理数据。但是,在 Go 语言中如何使用 NumPy 数组呢?...
    99+
    2023-09-23
    数组 函数 numy
  • 数据处理的利器:NumPy 详解
    基本数据类型和数组 NumPy 的核心数据结构是多维数组,称为 ndarray。ndarray 存储相同数据类型的值,并且可以具有任意数量的维度。NumPy 支持各种基本数据类型,包括整数、浮点数、布尔值和复数。 数组操作 NumPy 提...
    99+
    2024-04-02
  • Python进行文件处理的示例详解
    目录1.文件介绍1.1python文件的基本操作1.2.with上下文管理器2.文件的读写模式2.1. r  == read: 只读,不能写2.2. w ==write:只...
    99+
    2023-02-27
    Python文件处理操作 Python文件处理 Python文件
  • 如何在Go语言中使用Numpy进行数据处理?
    Go语言是一种高效、并发性强的编程语言,而Numpy是Python中非常受欢迎的数据处理库。但是,如果您想在Go语言中进行数据处理,该怎么办呢?本文将介绍如何使用Go语言中的Numpy库进行数据处理。 一、Go语言中使用Numpy 使用Go...
    99+
    2023-06-26
    响应 大数据 numpy
  • Unix环境下如何使用数组进行数据处理?
    Unix环境是一个强大的操作系统平台,它提供了很多工具和命令来方便我们进行数据处理。其中,数组是一个非常有用的数据结构,可以帮助我们更快速地处理数据。在本文中,我们将介绍如何在Unix环境下使用数组进行数据处理。 一、什么是数组? 数组是...
    99+
    2023-07-20
    unix 自然语言处理 数组
  • 如何在Python中使用numpy和django进行数据处理?
    Python是一种面向对象的编程语言,广泛用于数据处理、科学计算和Web开发等领域。其中,numpy和django是Python中非常流行的两个库,分别用于数值计算和Web开发。在本文中,我们将介绍如何在Python中使用numpy和dja...
    99+
    2023-11-01
    numpy django numy
  • 如何在 Python 函数中使用 Linux 数组进行数据处理?
    在 Python 中,我们经常需要使用数组来存储和处理数据。而在 Linux 系统中,数组也是常见的数据类型之一。那么,在 Python 函数中如何使用 Linux 数组进行数据处理呢?本文将为您详细介绍。 首先,让我们来了解一下 Pyth...
    99+
    2023-07-20
    函数 linux 数组
  • Python+Pillow进行图形处理的示例详解
    目录一、Pillow二、海龟绘图 一、Pillow PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大...
    99+
    2024-04-02
  • VB.NET处理数据行的示例分析
    VB.NET处理数据行的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于编程人员来说,运用VB.NET能给他们带来好处是不言而喻的。那么它的哪些优点能...
    99+
    2023-06-17
  • SpringMvc请求处理参数 和 响应数据处理的示例详解
    目录1、请求处理参数1.1 请求参数 @RequestParam1.1.1 不使用 @RequestParam 注解1.1.3 使用 @RequestParam 注解1.2 请求头参...
    99+
    2024-04-02
  • 如何在 Windows 系统中使用 numpy 进行高效的数据处理?
    在数据处理领域,numpy 是一个非常常用的 Python 库,它提供了高效的数据处理和科学计算工具。在 Windows 系统中,numpy 的安装和使用可能会有些不同于其他操作系统,本文将介绍如何在 Windows 系统中使用 nump...
    99+
    2023-09-04
    numpy windows 缓存
  • 利用PDO对数据库进行管理的示例
    这篇文章主要介绍利用PDO对数据库进行管理的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概念:对数据库的管理分为写操作和查询操作。写操作,即利用PDO实现数据库增删改操作,操作过程中要考虑到SQL本身可能出现的...
    99+
    2023-06-07
  • 如何在 Linux 上使用 ASP 数据类型数组进行高效的数据处理?
    在 Linux 系统中,ASP(Active Server Pages)数据类型数组是一种非常强大的工具,可以用来高效地处理大量的数据。ASP 数组可以存储多个值,并且可以通过索引访问每个值,这使得处理大量数据变得更加容易和高效。在本篇文章...
    99+
    2023-06-16
    数据类型 数组 linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作