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)的更多相关文章

  1. numpy 基于数值范围创建ndarray()

    基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...

  2. NumPy来自现有数据的数组

    NumPy - 来自现有数据的数组 这一章中,我们会讨论如何从现有数据创建数组. numpy.asarray 此函数类似于numpy.array,除了它有较少的参数. 这个例程对于将 Python 序 ...

  3. NumPy 基于数值区间创建数组

    来源:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  4. (18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

    1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库.我们可以通过使用Entity Framework Core构建执行基本数据访问的ASP.NET ...

  5. NumPy 基于已有数据创建数组

    原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  6. 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 ...

  7. Sql server中用现有表中的数据创建Sql的Insert插入语句

    之前,在Codeproject发表过一篇关于用现有表中数据创建Insert的Sql语句的存储过程,今天将其搬到这里来,注意本存储过程仅适用于SQL SERVER. 介绍 一些时候,你想导出一些现有表中 ...

  8. Python数据分析与展示[第三周](pandas简介与数据创建)

    第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...

  9. 用NumPy genfromtxt导入数据

    用NumPy genfromtxt导入数据 NumPy provides several functions to create arrays from tabular data. We focus ...

随机推荐

  1. oauth2-server-php-docs 存储 学说2

    学说2 创建客户端和访问令牌存储 要把学说融入到你的项目中,首先要建立你的实体.我们先从客户端,用户和访问令牌模型开始: yaml YourNamespace\Entity\OAuthClient: ...

  2. 一个小栗子聊聊JAVA泛型基础

    背景 周五本该是愉快的,可是今天花了一个早上查问题,为什么要花一个早上?我把原因总结为两点: 日志信息严重丢失,茫茫代码毫无头绪. 对泛型的认识不够,导致代码出现了BUG. 第一个原因可以通过以后编码 ...

  3. SVN 配置文件说明

    svnserve是SVN自带的一个轻型服务器,客户端通过使用以svn://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问SVN版本库.svnserve可以通过配置文件来 ...

  4. NSMutableURLRequest Http 请求 同步 异步

    #pragma mark get country code//同步 -(void)getFKjsonCountryCode { dispatch_async(dispatch_get_global_q ...

  5. 关于微服务、SOA、以及API的理解

    现在微服务.SOA.RESTful API设计等在各大公司很流行.微服务(micro services)这个概念不是新概念,很多公司已经在实践了,例如亚马逊.Google.FaceBook,Aliba ...

  6. hibernate 02之helloworld

    1.安装插件 安装方法说明(hibernatetools-.Final): Help --> Install New Software... Click Add... In dialog Add ...

  7. Jenkins 关闭和重启

    关闭jenkins服务:http://localhost:8080/exit 将上面的exit改为restart后就可以重新启动jenkins服务器.http://localhost:8080/res ...

  8. 排序基础之非比较的计数排序、桶排序、基数排序(Java实现)

    转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/6639353.html  比较和非比较排序 快速排序.归并排序.堆排序.冒泡排序等比较排序,每个数都必须和其他 ...

  9. spiral-matrix-ii &i 生成顺时针序列

    I: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral ...

  10. Linux主流架构运维工作简单剖析

    转载:http://wgkgood.blog.51cto.com/1192594/1586259 随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如 ...