numpy 基于现有数据创建ndarray(from existing data)
1 numpy.array
- array(object[, dtype=None, copy=True, order='K', subok=False, ndmin=0])
2 numpy.asarray
- asarray(a[, dtype=None, order=None])
将(列表、元组及其嵌套结构)数据a转换成ndarray
返回ndarray数据
1 当a为元组、列表array时
返回值值与输入值不相同
- import numpy as np
- a = [1,2]
- b = np.asarray(a)
- print(a) #[1, 2]
- print(b) #[1 2]
2 当a为ndarray且不做任何改变时
原数据a与返回值为同一个地址
- import numpy as np
- a = np.array([1,2])
- b = np.asarray(a)
- a += 2
- print(a) #[3 4]
- print(b) #[3 4]
- print(a is b) #True
3 当a为ndarray且改变数据结构时
复制一份数据
- import numpy as np
- a = np.array([1,2],dtype=np.float32)
- b = np.asarray(a,dtype='i4')
- a += 2
- print(a) #[3. 4.]
- print(b) #[1 2]
- print(a is b) #False
总之,可理解为不改变元数据时,为同一个数据地址,当改变元数据时,返回值会复制元数据并进行asarray格式化。
3 numpy.frombuffer
- frombuffer(buffer[, dtype=float, count=-1, offset=0])
将缓冲区解释为一维数组。
暴露缓冲区接口的任何对象都用作参数来返回ndarray
。
buffer - 一个暴露在缓冲取接口的对象
dtype - 返回ndarray的数据类型,默认float
count - 读取数据数量,默认-1,也即读取所有数据 int数据类型
offset - 读取数据的起始位置(偏移量)
返回值ndarray
- import numpy as np
- s = 'hello world'
- a = np.frombuffer(s,dtype='S1',count=5,offset=6)
- print(a)
- # 报错:AttributeError: 'str' object has no attribute '__buffer__'
一直没有弄明白,一直报错,要不就是 itemsize cannot be zero in type
请赐教,谢谢!
4 numpy.frombuffer
- fromiter(iterable, dtype[, count=-1])
将一个可迭代对象构建成一个ndarray对象,返回一个新的一维数组
count - 读取数据的量,当为默认值-1时,意味读取所有数据。
- import numpy as np
- iterable = (x*x for x in range(5))
- a = np.fromiter(iterable,float)
- print(a) #[ 0. 1. 4. 9. 16.]
参考:NumPy - 来自数值范围的数组,和官方文档(numpy-ref-14.5)3.1.2 From existing data
numpy 基于现有数据创建ndarray(from existing data)的更多相关文章
- numpy 基于数值范围创建ndarray()
基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...
- NumPy来自现有数据的数组
NumPy - 来自现有数据的数组 这一章中,我们会讨论如何从现有数据创建数组. numpy.asarray 此函数类似于numpy.array,除了它有较少的参数. 这个例程对于将 Python 序 ...
- NumPy 基于数值区间创建数组
来源:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...
- (18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)
1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库.我们可以通过使用Entity Framework Core构建执行基本数据访问的ASP.NET ...
- NumPy 基于已有数据创建数组
原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...
- How to: Generate XPO Business Classes for Existing Data Tables 如何:为现有数据表生成 XPO 业务类
From the Tutorial and other documentation sources, you learned how to create business classes for yo ...
- Sql server中用现有表中的数据创建Sql的Insert插入语句
之前,在Codeproject发表过一篇关于用现有表中数据创建Insert的Sql语句的存储过程,今天将其搬到这里来,注意本存储过程仅适用于SQL SERVER. 介绍 一些时候,你想导出一些现有表中 ...
- Python数据分析与展示[第三周](pandas简介与数据创建)
第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...
- 用NumPy genfromtxt导入数据
用NumPy genfromtxt导入数据 NumPy provides several functions to create arrays from tabular data. We focus ...
随机推荐
- Python 各种测试框架简介
转载:https://blog.csdn.net/yockie/article/details/47415265 一.doctest doctest 是一个 Python 发行版自带的标准模块.本篇将 ...
- Docker 容器入门
1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项, ...
- SpringBoot 启动错误搜集
Spring Boot:The Bean Validation API is on the classpath but no implementation could be found https:/ ...
- LintCode: Single Number
C++ (1)异或操作 3^3=0 (2)for (auto &i : Obejuct) {} class Solution { public: /** * @param A: Array o ...
- 微信小程序 - scroll-into-view(提示)
scroll-view的参数scroll-into-view适用于索引以及回到顶部 .详情见官方文档scroll-view: 点击下载:scroll-into-view示例
- 微信小程序 - cb回调(typeof cb == "function" && cb(obj);)
typeof cb == "function" && cb(obj) 但凡用了Promise,这种方式就可以抛弃了. Page({ data: {}, onLoad ...
- SQL Server 2008——SQL命令INSERT
T-SQL的INSERT命令的语法: INSERT [INTO] {table_name|view_name} [{(column_name,column_name,-)}] ...
- oracle 12c 官方文档 及软件下载
oracle 12c 官方文档 http://www.oracle.com/pls/db121/homepage oracle 12c 软件下载 http://www.oracle.com/techn ...
- 〖Android〗Nexus 7 flo (razor) 刷入Recovery/CM-11.0后卡在开机动画的解决方法
操作日志: 起因:Nexus 7 flo 华硕平板,刷了一个CWM Recovery之后变成了砖机: 尝试1:使用CWM Recovery清除数据,开机失败 尝试2:刷入CM 11 Snapshot的 ...
- 〖Linux〗Kubuntu KDE开机后总是提示“system program problem detected”的解决方法
自从从Ubuntu切换到了Kubuntu之后,就经常在开机的时候提示“system program problem detected”: 查看 /var/crash/ 发现都是一些无关痛痒的程序在关机 ...