操作ndarray 的方法

numpy.reshape:这个函数在不改变数据的条件下修改形状

numpy.ndarray.flat:该函数返回数组上的一维迭代器,行为类似 Python 内建的迭代器

numpy.ndarray.flatten:该函数返回折叠为一维的数组副本

numpy.ravel:这个函数返回展开的一维数组,并且按需生成副本。返回的数组和输入数组拥有相同数据类型

numpy.transpose:这个函数翻转给定数组的维度。如果可能的话它会返回一个视图

numpy.ndarray.T:该函数属于ndarray类,行为类似于numpy.transpose

numpy.rollaxis:该函数向后滚动特定的轴,直到一个特定位置

numpy.swapaxes:该函数交换数组的两个轴。对于 1.10 之前的 NumPy 版本,会返回交换后数组的试图

numpy.broadcast_to:此函数将数组广播到新形状。 它在原始数组上返回只读视图。 它通常不连续。 如果新形状不符合 广播规则,该函数可能会抛出ValueError

numpy.expand_dims:函数通过在指定位置插入新的轴来扩展数组形状

numpy.squeeze:函数从给定数组的形状中删除一维条目

numpy.concatenate:数组的连接是指连接。 此函数用于沿指定轴连接相同形状的两个或多个数组

numpy.stack:此函数沿新轴连接数组序列。 此功能添加自 NumPy 版本 1.10.0

numpy.stack:函数的变体,通过堆叠来生成水平的单个数组

numpy.vstack:``numpy.stack函数的变体,通过堆叠来生成竖直的单个数组

numpy.split:该函数沿特定的轴将数组分割为子数组

numpy.hsplit:``numpy.hsplit是split()函数的特例,其中轴为 1 表示水平分割,无论输入数组的维度是什么

numpy.vsplit:``numpy.vsplit是split()函数的特例,其中轴为 0 表示竖直分割,无论输入数组的维度是什么

numpy.resize:此函数返回指定大小的新数组。 如果新大小大于原始大小,则包含原始数组中的元素的重复副本

numpy.append:此函数在输入数组的末尾添加值。 附加操作不是原地的,而是分配新的数组。 此外,输入数组的维度必须匹配否则将生成ValueError

numpy.insert:此函数在给定索引之前,沿给定轴在输入数组中插入值。 如果值的类型转换为要插入,则它与输入数组不同。 插入没有原地的,函数会返回一个新数组。 此外,如果未提供轴,则输入数组会被展开

numpy.delete:此函数返回从输入数组中删除指定子数组的新数组。 与insert()函数的情况一样,如果未提供轴参数,则输入数组将展开

numpy.unique:此函数返回输入数组中的去重元素数组。 该函数能够返回一个元组,包含去重数组和相关索引的数组。 索引的性质取决于函数调用中返回参数的类型

numpy.bitwise_and:通过np.bitwise_and()函数对输入数组中的整数的二进制表示的相应位执行位与运算

numpy.bitwise_or:通过np.bitwise_or()函数对输入数组中的整数的二进制表示的相应位执行位或运算

numpy.invert此函数计算输入数组中整数的位非结果。 对于有符号整数,返回补码

left_shift:``numpy.left shift()函数将数组元素的二进制表示中的位向左移动到指定位置,右侧附加相等数量的 0

right_shift:``numpy.right_shift()函数将数组元素的二进制表示中的位向右移动到指定位置,左侧附加相等数量的 0

代码举例

import numpy as np

a1 = np.arange(2, 10)

a2 = a1.reshape(4, 2) # 修改形状

print(a2)

print(a2.flat[5]) # 返回展开数组中的下标的对应元素 (一维迭代器)

print(a2.flatten(order=‘F’)) # 以 F 风格顺序展开的数组 返回一维的数组副本

print(a2.ravel(order=‘F’)) # 以 F 风格顺序展开的数组 并且按需生成副本

print(np.transpose(a2)) # numpy.ndarray.T 功能相同

print("------------------------------------")

a3 = np.arange(8).reshape(2, 2, 2)

print(a3)

print(np.rollaxis(a3, 2)) # 将轴 2 滚动到轴 0(宽度到深度)

print(np.rollaxis(a3, 2, 1)) # 将轴 0 滚动到轴 1:(宽度到高度)

print(np.swapaxes(a3, 2, 0)) # 现在交换轴 0(深度方向)到轴 2(宽度方向)

x = np.array([[1], [2], [3]])

y = np.array([4, 5, 6])

b = np.broadcast(x, y) # 对 y 广播 x.它拥有 iterator 属性,基于自身组件的迭代器元组

r, c = b.iters

print(b.shape)

c = np.empty(b.shape)

c.flat = [u + v for (u, v) in b]

print©

print(x + y) # 获得了和 NumPy 内建的广播支持相同的结果

print(np.broadcast_to(b, (4, 4))) # 此函数将数组广播到新形状

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

y = np.expand_dims(x, axis=1)

print(x.shape, y.shape) # 函数通过在指定位置插入新的轴来扩展数组形状

x = np.arange(9).reshape(1, 3, 3)

y = np.squeeze(x)

print(y.shape)

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

y = np.array([[5, 6], [7, 8]])

print(np.concatenate((x, y))) # 此函数用于沿指定轴连接相同形状的两个或多个数组

print(np.concatenate((x, y), axis=1))

print(np.stack((x, y), 0)) # 沿轴 0 堆叠两个数组

print(np.stack((x, y), 1)) # 沿轴 1 堆叠两个数组

print(np.hstack((x, y))) # 水平堆叠两个数组

print(np.vstack((x, y))) # 竖直堆叠两个数组

a = np.arange(9)

print(np.split(a, 3)) # np.split(a,[4,7])

print(np.split(a, [4, 7])) # 将数组在一维数组中表明的位置分割

a = np.arange(16).reshape(4, 4)

print(np.hsplit(a, 2)) # split()函数的特例,其中轴为 1 表示水平分割,无论输入数组的维度是什么

print(np.vsplit(a, 2)) # split()函数的特例,其中轴为 0 表示竖直分割,无论输入数组的维度是什么

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

print(np.resize(a, (3, 2)))

print(np.resize(a, (3, 4))) # 尺寸变大了 出现重复元素

print(np.append(a, [7, 8, 9])) # 向数组添加元素

print(np.append(a, [[7, 8, 9]], axis=0)) # 沿轴 0 添加元素

print(np.append(a, [[5, 5, 5], [7, 8, 9]], axis=1)) # 沿轴 1 添加元素

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

print(np.insert(a, 3, [11, 12])) # '未传递 Axis 参数。 在插入之前输入数组会被展开

print(np.insert(a, 1, [11], axis=0)) # 沿轴 0 广播

print(np.insert(a, 1, [11], axis=1)) # 沿轴 1 广播

a = np.arange(12).reshape(3, 4)

print(np.delete(a, 5)) # 未传递 Axis 参数。 在插入之前输入数组会被展开

print(np.delete(a, 1, axis=1)) # 删除第二列

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print(np.delete(a, np.s_[::2])) # 包含从数组中删除的替代值的切片

a = np.array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9])

print(np.unique(a))

print(np.unique(a, return_index=True)) # 去重数组的索引数组

print(np.unique(a, return_inverse=True)) # 使用下标重构原数组

print(np.unique(a, return_counts=True)) # 去重元素的重复数量

print(np.bitwise_and(13, 17)) # 位与

print(np.bitwise_or(13, 17)) # 位或

print(np.invert(np.array([13], dtype=np.uint8))) # 13 的位反转,其中 ndarray 的 dtype 是 uint8

print(np.left_shift(10, 2)) # 将 10 左移两位

print(np.right_shift(40, 2)) # 将 40 左移两位

python数组去重函数_Python科学计算库Numpy之 数组操作相关推荐

  1. python np dot函数_python科学计算之Numpy

    Numpy的组成与功能 Numpy(Numeric Python)可以被理解为一个用python实现的科学计算包,包括: 1.强大的N维数组对象Array: 2.成熟的函数库: 3.实用的线性代数.傅 ...

  2. argmax函数_Python科学计算库numpy——统计函数

    Python--numpy 统计函数 numpy 统计函数 import numpy as npa=np.arange(15).reshape(3,5)aOut[10]: array([[ 0, 1, ...

  3. 唐宇迪学习笔记1:Python环境安装、Pytho科学计算库——Numpy

    目录 一.AI数据分析入门 ​1.案例来源 2.Python环境配置(Python3) Python的安装 Python库安装工具 Jupyter Notebook 二.Python科学计算库--Nu ...

  4. python数组初始化_Python科学计算库Numpy数组的初始化和基本操作

    umPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵 ...

  5. Python大数据教程:科学计算库NumPy案例之酒鬼漫步

    通过前面对NumPy的学习,相信大家一定对NumPy这个科学计算包有了一定的了解,接下来,本节将通过酒鬼漫步的案例来介绍如何运用NumPy随机数模块与数据处理. 下面先为大家描述一下场景,在一片空旷的 ...

  6. python的科学计算库有哪些_Python科学计算库-Numpy

    NumPy 是 Python 语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,也是学习 python 必学的一个库. 1. 读取文件 numpy.gen ...

  7. 一文带你熟悉简单实用的Python科学计算库NumPy

    Python科学计算库NumPy 安装 数组的创建 array创建 **arange** 创建 **随机数创建** 方法numpy.random.random(size=None) 方法numpy.r ...

  8. numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用

    林小森博客: Python科学计算库Numpy常用的函数使用 - 林小森​www.linxiaosen.com Numpy具有强大的计算功能,本文介绍Numpy常用的函数,可以有效的提高工作效率. 首 ...

  9. python矩阵运算法则_导数与梯度、矩阵运算性质、科学计算库numpy

    一.实验介绍 1.1 实验内容 虽然在实验一中我想尽量少的引入(会让人放弃继续学习的)数学概念,但我似乎还是失败了.不过这几乎是没有办法的事,要想真正学会深度学习,没有一定的数学基础(高等数学.线性代 ...

最新文章

  1. ISE简介及其下载 安装 和谐 与 卸载
  2. 微信小程序 基础3【组件化开发、自定义组件、全栈开发、使用Express】
  3. 服务器系统使用30金手指,seo专业培训拾首选金手指三:自动设置锚文本的
  4. 三十六、rsync通过服务同步、Linux系统日志、screen工具
  5. cudamemcpy运行速度很慢_只要设置好这几个选项,让你的 PS CC 2019 运行如飞
  6. Java 单例模式:懒加载(延迟加载)和即时加载
  7. arcgis xml 下载 切片_arcgis api 4.x for js地图加载arcgisserver本地离线瓦片(附源码下载)...
  8. 游戏服务器停机维护,网络游戏是如何做到服务器不停机维护的?
  9. 如何优雅的使用全球最大同性社交网站
  10. mysql数据库事务实现方式_mysql事务的实现原理
  11. jsp购物车简单实现思想(一)
  12. springboot 运行jar文件报 “XXX中没有主清单属性”
  13. 中科院信工所经验_信工所六室面试经历
  14. NAND flash 和 NOR flash 区别
  15. Python实现视频转 gif 动图
  16. excel 常见的六个排序方法,你必须要学会
  17. python中isin函数_python中Isin函数是什么
  18. 『进出口贸易』 [经验交流]外贸朋友们一定进来看看,关于贸易成本核算问题(做人要厚道)
  19. 国开计算机组成原理边学边练,国家开放大学-计算机组成原理-形考任务-2017全部答案.docx...
  20. selenium+phantomjs 爬虫 获取中国移动,电信,联通通话记录

热门文章

  1. Stackoverflow 年度报告 2020:开发者最喜爱的数据库是什么?
  2. 千头万绪:从一道面试题看数据库性能和安全的方方面面
  3. 以小窥大,从一盏路灯看亿万物联网之路
  4. 计划会议要开始了,产品负责人却没来…
  5. 让你的产品更懂世界:如何提升场景文本识别中的语言模型
  6. 掌握JS压缩图片,这一篇就够了
  7. 【华为云技术分享】华为云多元计算+AI 打造企业级智能数据湖
  8. 华为云BigData Pro解读: 鲲鹏云容器助力大数据破茧成蝶
  9. 云享专家倪升武:微服务架构盛行的时代,你需要了解点 Spring Boot
  10. 从React 编程到好莱坞