numpy 下的数据结构与数据类型的转换(np.array vs. np.asarray)
1. np.asarray —— numpy 风格的类型转换
从已有多维数组创建新的多维数组,数据类型可重新设置
>> B = np.asarray(A, dtype='int32')
2. np.array() vs np.asarray
源码之前,了无秘密。
两者的区别和联系,铜通过查看源码,一目了然:
def asarray(a, dtype=None, order=None):
return array(a, dtype, copy=False, order=order)
两者主要的区别在于,array(默认)复制一份对象,asarray不会执行这一动作。
>>> a = np.array([1, 2])
>>> np.asarray(a) is a
True
>>> np.array(a) is a
False
3. ndarray.tolist()
ndarray.tolist()与np.array()构成一对互操作
>>> X = np.random.randn(3, 3)
>>> X
array([[ 0.25272657, -1.81033933, 0.5215726 ],
[ 1.24087521, 0.86335847, 1.79204052],
[-0.65888093, 1.1561787 , -0.53913756]])
>>> Y = X.tolist()
>>> Y
[[0.25272657237043794, -1.8103393348620243, 0.5215726035022588],
[1.240875214113897, 0.8633584724959652, 1.7920405210518087],
[-0.6588809297676459, 1.1561787010379958, -0.5391375573892387]]
>>> np.array(Y)
array([[ 0.25272657, -1.81033933, 0.5215726 ],
[ 1.24087521, 0.86335847, 1.79204052],
[-0.65888093, 1.1561787 , -0.53913756]])
>>> X
array([[ 0.25272657, -1.81033933, 0.5215726 ],
[ 1.24087521, 0.86335847, 1.79204052],
[-0.65888093, 1.1561787 , -0.53913756]])
什么情况下需要将numpy ndarray转化为list呢?需要序列化(serialization)时,numpy ndarray是不可序列化的。
numpy 下的数据结构与数据类型的转换(np.array vs. np.asarray)的更多相关文章
- numpy中np.array()与np.asarray的区别以及.tolist
array 和 asarray 都可以将 结构数据 转化为 ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会. 1.输 ...
- numpy数据类型dtype转换
这篇文章我们玩玩numpy的数值数据类型转换 导入numpy >>> import numpy as np 一.随便玩玩 生成一个浮点数组 >>> a = np.r ...
- python 数据处理中各种存储方式里数据类型的转换
自己记录,仅供参考 在数据处理时经常会遇到数据类型不匹配的事情,为了方便查看各种存储方式中数据类型的改变.我把一些自己常用的整理方式记录下来,希望可以为以后数据类型的处理工作提供便利. 数据常用的基本 ...
- 语言基础:C#输入输出与数据类型及其转换
今天学习了C#的定义及特点,Visual Studio.Net的集成开发环境和C#语言基础. C#语言基础资料——输入输出与数据类型及其转换 函数的四要素:名称,输入,输出,加工 输出 Console ...
- php之数据类型自动转换
1:概述 ---php是一种弱类型的语言,它可以根据运行环境的变化而自动进行数据类型的转换 1.1转换成布尔类型的原则 以下值都将转换成布尔类型中的false: A.布尔类型的false; B.空字符 ...
- Spark PySpark数据类型的转换原理—Writable Converter
Spark目前支持三种开发语言:Scala.Java.Python,目前我们大量使用Python来开发Spark App(Spark 1.2开始支持使用Python开发Spark Streaming ...
- java中的基本数据类型的转换
本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...
- Java数据类型及其转换&&经常用到的快捷键
数据类型 基本数据类型分类 (8种) byte .short. int. long. char. float. double .boolean 1个字节占8位 整数型byte 1字节 -128~1 ...
- Numpy系列(二)- 数据类型
Numpy 中的数组比 Python 原生中的数组(只支持整数类型与浮点类型)强大的一点就是它支持更多的数据类型. 基本数据类型 numpy常见的数据类型 数据类型 描述 bool_ 布尔(True或 ...
随机推荐
- 火狐与IE的7个JavaScript差异
作者注:本篇文章发表于2009.04.27,是一篇关于讨论Javascript在IE6.IE7和FF2+.FF3.0之间的存在的问题的文章. 虽然须要用冗长的JavaScript代码去识别特定的浏览器 ...
- POJ 题目2823 Sliding Window(RMQ,固定区间长度)
Sliding Window Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 46507 Accepted: 13442 ...
- POJ 1201 Intervals || POJ 1716 Integer Intervals 差分约束
POJ 1201 http://poj.org/problem?id=1201 题目大意: 有一个序列,题目用n个整数组合 [ai,bi,ci]来描述它,[ai,bi,ci]表示在该序列中处于[ai, ...
- 10.9 android输入系统_APP跟输入系统建立联系和Dispatcher线程_分发dispatch
12. 输入系统_APP跟输入系统建立联系_InputChannel和Connection核心: socketpair // 第9课第3节_输入系统_必备Linux编程知识_任意进程双向通信(scok ...
- swift开发网络篇—利用NSURLSession 发送GET和POST请求
说明:本文示例代码发送的请求均为http请求,需要对info.plist文件进行配置.如何配置,请参考https://github.com/HanGangAndHanMeimei/iOS9Adapta ...
- Nginx+Tomcat的配合使用
近期尝试使用tomcat和Nginx进行配合做负载均衡和静态与动态资源分配的Demo,期间遇到很多有意思的地方和知识短板,特此记录 一:什么是Nginx? Nginx也是一款服务器,我们常用它做如:反 ...
- Android多线程研究(8)——Java5中Futrue获取线程返回结果
我们先来看一下ExecutorService中的执行方法: 在上一篇中我们使用了execute方法启动线程池中的线程执行,这一篇我们来看看submit方法的使用:submit提交一个返回值的任务用于执 ...
- [Compose] 10. Capture Side Effects in a Task
We examine the data structure Task, see some constructors, familiar methods, and finally how it capt ...
- VMWare提供三种工作模式桥接(bridge)、NAT(网络地址转换)和host-only(主机模式)
1.桥接模式 在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位),它可以访问网内任何一台机器.在桥接模式下,我们往往需要为虚拟主机配置IP地址.子网 ...
- [Vue] Create Filters in Vue.js
Just like in the command line, you can pipe a property through a filter to get a desired result. You ...