我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么使用NumPy进行数组数据处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么使用NumPy进行数组数据处理

本篇内容主要讲解“怎么使用NumPy进行数组数据处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用NumPy进行数组数据处理”吧!

介绍

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

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

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

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

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

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

与其他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.6print(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/2print(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为白色

怎么使用NumPy进行数组数据处理

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

怎么使用NumPy进行数组数据处理

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进行数组数据处理”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么使用NumPy进行数组数据处理

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

下载Word文档

猜你喜欢

怎么使用NumPy进行数组数据处理

本篇内容主要讲解“怎么使用NumPy进行数组数据处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用NumPy进行数组数据处理”吧!介绍NumPy是Python中用于数值计算的核心包之一,
2023-07-05

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

NumPy是Python中用于数值计算的核心包之一,它提供了大量的高效数组操作函数和数学函数,可以支持多维数组和矩阵运算。本文主要为大家介绍了NumPy进行数组数据处理的具体方法,需要的可以参考一下
2023-03-22

Python中使用NumPy进行数据处理方式

NumPy是Python中用于数据处理的强大库。它提供高效的多维数组处理,并拥有丰富的数学、统计和布尔运算功能。NumPy还支持广播,允许在不同形状的数组上执行运算。它在数据科学中广泛应用,包括数据清理、分析、机器学习和图像处理。尽管NumPy具有高效性和功能强大等优势,但它也存在处理稀疏数据和内存消耗问题,并且可能需要一定的学习曲线。
Python中使用NumPy进行数据处理方式
2024-04-02

怎么用python进行数据处理

使用Python进行数据处理可以使用各种库和工具。以下是一些常见的用于数据处理的Python库和工具:NumPy:用于数值计算和数组操作的库,提供了多维数组对象和各种计算函数,可以进行向量化操作和高效的数值运算。Pandas:提供了用于数
2023-10-25

使用springmvc怎么对模型数据进行处理

使用springmvc怎么对模型数据进行处理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springmvc提供了四种方式来输出模型数据ModelAndView
2023-06-06

使用python怎么对表格数据进行处理

这篇文章给大家介绍使用python怎么对表格数据进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python对Excel表格的处理首先我们看一个最简单的情况,我们先不考虑性能的问题,那么我们可以使用xlrd这个工
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录