Numpy---类型修改、去重、级联、拆分、拷贝复制

news2024/11/27 11:53:18

1. 类型修改

ndarray.astype(type)

返回修改了类型之后的数组

stock_change = np.random.normal(0, 1, (4, 5))
stock_change.astype(np.int32)

ndarray.tostring([order])

ndarray.tobytes([order])

构造包含数组中原始数据字节的Python字节

arr = np.array([[[1, 2, 3], [4, 5, 6]], [[12, 3, 34], [5, 6, 7]]])
arr.tostring()

2. 去重

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

3. 级联

np.concatenate()

参数是列表或元组;级联的数组维度必须相同;可通过axis参数改变级联的方向

n1 = np.random.randint(0, 100, size=(3, 5))
n2 = np.random.randint(0, 100, size=(3, 5))
display(n1, n2)

# 级联,合并
np.concatenate((n1, n2))  # 默认上下合并
np.concatenate((n1, n2), axis=0)  # 上下合并 axis=0表式第一个维度(行)

# 左右合并 axis=1 表式第2个维度(列)
np.concatenate((n1, n2), axis=1)

np.hstack与np.vstack

水平级联与垂直级联

# np.hstack : 水平级联,左右合并
np.hstack((n1, n2))

# np.vstack: 上下合并,垂直级联
np.vstack((n1, n2))

4. 切分/拆分/分割

与级联类似,三个函数完成切分工作:

np.split      np.vsplit      np.hsplit

n = np.random.randint(0, 100, size=(6, 4))
n

# 垂直拆分,平均拆成3份
np.vsplit(n, 3)

# 可以按照指定位置拆分
np.vsplit(n, (1, 2, 4))

# 水平方向拆分
np.hsplit(n, 2)

# split: 可以做水平或垂直拆分
#  axis=0 行
#  axis=1 列
np.split(n, 2)  # 默认按行拆分
np.split(n, 2, axis=0)  # 按行拆分

np.split(n, 2, axis=1)  # 按列拆分

5. 拷贝复制

# 赋值 : 用的是同一个内存
n = np.arange(10)
n2 = n
n2[0] = 100
display(n, n2)
array([100,   1,   2,   3,   4,   5,   6,   7,   8,   9])
array([100,   1,   2,   3,   4,   5,   6,   7,   8,   9])
# 拷贝: copy
n1 = np.arange(10)
# n1
n2 = n1.copy()
n2[0] = 100
display(n1, n2)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
array([100,   1,   2,   3,   4,   5,   6,   7,   8,   9])
# 深拷贝copy
n = np.random.randint(0, 10, size=(2, 3))
n2 = n.copy()
n2[0, 0] = 100
display(n, n2)
array([[2, 4, 8],
       [1, 4, 2]])
array([[100,   4,   8],
       [  1,   4,   2]])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++学习】特殊类设计 | 类型转换

🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! 特殊类设计 | 类型转换 一、特殊类设计1.1 不能被拷贝的类1.2 只能在堆上创建的类1.3 只能在栈上创建…

SpringBoot整合ShardingSphere5.x实现数据加解密功能

环境&#xff1a;Springboot2.6.14 ShardingSphere5.3.0 准备环境 添加依赖 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core</artifactId><version>${shardingsphere.version}</ve…

【数据分享】1929-2022年全球站点的逐日最低气温(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01; 之前我们分享过1929-2022年全球气象站…

【资料分享】过压保护自锁控制电路

概述(电路类别、实现主要功能描述)&#xff1a; 在电源系统中&#xff0c;当反馈回路失效时&#xff0c;输出电压不受控&#xff0c;电压升高超出规定范围&#xff0c;此时过高的输出电压有可能造成后续电器设备的损坏。为解决这问题&#xff0c;通常在电源中增加过压保护电路…

神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解

本文介绍在tensorflow库中&#xff0c;用于动态调整神经网络的学习率的一种方法——指数衰减ExponentialDecay()策略的参数含义及其具体用法。 在进行神经网络训练时&#xff0c;我们经常需要用到动态变化的学习率&#xff0c;其中指数衰减ExponentialDecay()策略是我们常用的一…

【鲁棒优化】具有可再生能源和储能的区域微电网的最优运行:针对不确定性的鲁棒性和非预测性解决方案(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Python 类方法和静态方法】零基础也能轻松掌握的学习路线与参考资料

一、Python类方法和静态方法的概念 在Python中&#xff0c;类方法和静态方法是常见的两种方法。两者都是Python中的函数&#xff0c;可以在类和实例上调用。但是&#xff0c;它们的作用和用法有所不同。 类方法是绑定到类而不是实例的方法&#xff0c;它们可以在实例和类上运…

高性能软件负载OpenResty常用命令

目录 1 案例介绍2 中小公司的详情页方案2.1 缺点 3 大型公司的商品详情页的核心思想3.1 生成静态页3.2 推送到文件服务器3.3 布隆过滤器过滤请求3.4 lua直连Redis读取数据3.5 OpenResty 渲染数据 4 环境准备4.1 配置文件服务器4.2 配置资源反向代理4.3 访问测试 1 案例介绍 商品…

【Unity100个实用小技巧】Git报错:error: some local refs could not be updated;

☀️博客主页&#xff1a;CSDN博客主页 &#x1f4a8;本文由 我是小狼君 原创&#xff0c;首发于 CSDN&#x1f4a2; &#x1f525;学习专栏推荐&#xff1a;面试汇总 ❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏 ⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&…

SpringBoot+Mybatis+Thymeleaf实现的疫情防控物资管理系统

本系统具体使用的技术是&#xff1a;后端使用SpringBootMybatis&#xff0c;前端使用了Thymeleaf框架&#xff0c;数据库使用的是MySql 8.0。开发工具使用的是IDEA。 本系统前端是使用了前辈的管理系统模板&#xff0c;具体的系统模块功能如下图所示&#xff1a; 一、系统首页…

《环信开发者技术等级考试》有奖问答正在进行中。。。

欢迎参加《环信开发者技术等级考试》&#xff0c;希望大家凝神静气&#xff0c;考出水平。 值此环信十周年&#xff0c;参与本次考试所有考生均可凭实力获得周年大礼包。 考场设置 本次考试主要考察大家对集成环信IM以及环信开通服务的熟悉度。 题型包含单选和多选&#xff…

算法修炼之筑基篇——筑基一层初期(解决01背包问题)

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法修炼之练气篇​​​​​ ✨博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;学习了算法修炼之练气篇想必各位蒟蒻们的基础已经非常的扎实了&#xff0c;下来我们进阶到算法修炼之筑基篇的学习。筑基期和练气期…

物联网网关,原来是这么回事,感谢!

《高并发系统实战派》-- 你值得拥有 文章目录 物联网网关是什么&#xff1f;为什么要搞物联网网关&#xff1f;物联网网关作用&#xff1f; 物联网网关技术原理物联网网关实战开发边缘计算与物联网网关的碰撞边缘计算的理解物联网网关结合边缘计算 物联网网关是什么&#xff1f…

Windows10下docker安装及遇到的问题并且在docker快速部署onlyoffice

docker安装官网地址 docker安装超链接点击进入下载 这里下载的是window版的docker&#xff0c;你们根据自身实际情况下载&#xff1b; 安装docker遇到的问题: 第一个问题 : 启动遇到Docker Desktop is unable to detect a Hypervisor 虚拟化技术没打开&#xff0c;需要打开…

有哪些你觉得非常好用的软件?

以下是我认为非常好用的软件&#xff1a; 1. 金鸣表格文字识别&#xff1a;由深圳市金鸣科技有限公司开发&#xff0c;系统采用超前AI&#xff0c;经深度学习&#xff0c;识别精准&#xff0c;可将图片、PDF等转为excel、word&#xff0c;同时支持证件、票据等批量合并转为结构…

“好不容易进的腾讯,你凭什么要离开?”

前几天&#xff0c;我在网上看到一个故事。 故事的主人翁是18届的校招生&#xff0c;目前入职腾讯&#xff0c;工作了一个月。这一个月给他的感受是大量的写测试用例&#xff0c;感觉自己写测试用例的能力熟练了不少&#xff0c;测试技能倒是没有多大的提高&#xff0c;真正需…

vue使用纪要

一、基础总结 1、构成 1&#xff09;位置目录 如下图所示&#xff1a; 一个页面一个vue文件&#xff0c;位置在src下边的views里边&#xff1b; 如下图&#xff1a; 一个vue文件&#xff0c;对应一个或多个js文件&#xff0c;js放在src下边的api中&#xff1b; 2&#xf…

开源杀毒引擎库libclamav的使用方法

《开源杀毒引擎ClamAV的源码编译安装》中我们讲了ClamAV的安装和使用方法&#xff0c;可以很方便的使用ClamAV提供的工具进行病毒扫描&#xff0c;当然我们也可以在我们的程序中集成它提供的libclamav开发库来实现病毒扫描&#xff0c;libclamav是一个功能强大的病毒扫描库&…

代码随想录刷题第46天|LeetCode139单词拆分、多重背包

1、LeetCode139单词拆分 题目链接&#xff1a;139单词拆分 1、dp[i] : 字符串长度为i的话&#xff0c;dp[i]为true&#xff0c;表示可以拆分为一个或多个在字典中出现的单词。 2、递推公式&#xff1a;如果确定dp[j] 是true&#xff0c;且 [j, i] 这个区间的子串出现在字典里…

Using index Using where和 Using where Using index有何区别

先把结论呈现出来&#xff1a; 1、Using index : 查询的列被索引覆盖&#xff0c;并且where筛选条件是索引的是前导列&#xff0c;Extra中为Using index 2、 Using index &#xff0c;Using where&#xff1a;查询的列被索引覆盖&#xff0c;数据都是先通过索引查询出来的…