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或 ...
随机推荐
- C# 获取文件路径,读取项目中某程序集下文件
获取文件路径 ------------------------------------------------------------------------- winform获取文件路径: stri ...
- ORA-00119: invalid specification for system parameter LOCAL_LISTENER;
错误提示内容及上下文环境: SQL> grant sysdba to weng;grant sysdba to weng*第 1 行出现错误:ORA-01034: ORACLE not avai ...
- PDO中获取结果集
fetch()方法 fetch()方法用于获取结果集的下一行.语法例如以下: mixed PDOStatement::fetch([int fetch_style][,int cursor_orien ...
- std::的概念与作用
std:: 当中std是名称空间,防止反复.比如说很多人给函数取名可能都叫f1():你使用的时候就可能造成问题.如果各人均把自己的f1()放进自己的名称空间.我们在使用的时候带上名称空间就不会有问题. ...
- stm32优先级
- 微服务API模拟框架frock介绍
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/02/introducing-frock Urban Airship是一家帮助 ...
- Linux 如何查看一个进程的堆栈
有两种方法: 第一种:pstack 进程ID 第二种,使用gdb 然后attach 进程ID,然后再使用命令 thread apply all bt 第三种:strace -f -p pid 该方法 ...
- 二次封装CoreData
(1)创建一个Data Model文件.命名为MyModel.xcdatamodeld (2)创建Users表,加入如图的字段 (3)创建NSManagedObject subclass表实体文件 ( ...
- TextView之二:常用属性 分类: H1_ANDROID 2013-10-30 12:43 3203人阅读 评论(0) 收藏
参考自<疯狂android讲义>2.3节 //TextView所呈现的文字 android:text="我爱Java" //文字颜色 android:textColor ...
- 设置UIButton的文字显示位置、字体的大小、字体的颜色
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...