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 ...
随机推荐
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part1
本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part1(P1~42).代码运行结果请參见原书配图. P20 I = imread('lena.jpg');BW1 = ...
- 解决:Failure to transfer org.apache.maven.plugins:maven-jar-plugin:pom:2.4 from错误
在使用Maven时出现以下错误: Failure to transfer org.apache.maven.plugins:maven-jar-plugin:pom:2.4 from https:// ...
- windows 下 nginx 的启动 停止 关闭
停止 nginx -s stop 重新加载配置文件(改动了参数无需重启,只有执行重新加载即可)nginx -s reload 退出 停止 关闭nginx -s quit
- HDU1069(还是dp基础)
今天不想说太多废话-由于等下要写自己主动提交机. 不知道能不能成功呢? 题目的意思就是,一个猴子,在叠砖头 ...以下的要严格大于上面的.求叠起来最高能到多少- n非常少,n^2算法毫无压力-话说dp ...
- android中去掉ListView控件中的分割线
通过设置android:divider="@null" ,可以去掉ListView控件中的分割线 也可以自定义分割线的颜色,比如: <ListView android:id= ...
- iOS 生成pem证书
openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes 需要通过终端命令将这些文件转换为PEM格式:openssl p ...
- robot framework-requests库安装过程问题解决
这几天本想研究下用robotframework+HTTP library (Requests)来做接口测试(http协议), 安装完Requests库后,在RIDE里导入该库时显示是红色,即导入失败( ...
- 001-Go JSON处理
在golang中提供的encoding/json包可以编码JSON以及解码JSON数据. 1.编码JSON 使用json包中的Marshal函数进行编码,源码如下: func Marshal(v in ...
- Spring Boot 之 RESTfull API简单项目的快速搭建(二)
1.打包 -- Maven build 2.问题 [WARNING] The requested profile "pom.xml" could not be activated ...
- vim note write
Try: :vert sb N which will open a left vertical split (by default, unless you have modified some opt ...