NumPy来自现有数据的数组

NumPy - 来自现有数据的数组

这一章中,我们会讨论如何从现有数据创建数组。

numpy.asarray

此函数类似于numpy.array,除了它有较少的参数。 这个例程对于将 Python 序列转换为ndarray非常有用。

numpy.asarray(a, dtype = None, order = None)

构造器接受下列参数:

序号 参数及描述
1. a 任意形式的输入参数,比如列表、列表的元组、元组、元组的元组、元组的列表
2. dtype 通常,输入数据的类型会应用到返回的ndarray
3. order ‘C‘为按行的 C 风格数组,‘F‘为按列的 Fortran 风格数组

下面的例子展示了如何使用asarray函数:

示例 1

# 将列表转换为 ndarray
import numpy as np 

x =  [1,2,3]
a = np.asarray(x)
print a

输出如下:

[1  2  3]

示例 2

# 设置了 dtype
import numpy as np 

x =  [1,2,3]
a = np.asarray(x, dtype =  float)
print a

输出如下:

[ 1.  2.  3.]

示例 3

# 来自元组的 ndarray
import numpy as np 

x =  (1,2,3)
a = np.asarray(x)
print a

输出如下:

[1  2  3]

示例 4

# 来自元组列表的 ndarray
import numpy as np 

x =  [(1,2,3),(4,5)]
a = np.asarray(x)
print a

输出如下:

[(1, 2, 3) (4, 5)]

numpy.frombuffer

此函数将缓冲区解释为一维数组。 暴露缓冲区接口的任何对象都用作参数来返回ndarray

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

构造器接受下列参数:

序号 参数及描述
1. buffer 任何暴露缓冲区借口的对象
2. dtype 返回数组的数据类型,默认为float
3. count 需要读取的数据数量,默认为-1,读取所有数据
4. offset 需要读取的起始位置,默认为0

示例

下面的例子展示了frombuffer函数的用法。

import numpy as np
s =  ‘Hello World‘
a = np.frombuffer(s, dtype =  ‘S1‘)
print a

输出如下:

[‘H‘  ‘e‘  ‘l‘  ‘l‘  ‘o‘  ‘ ‘  ‘W‘  ‘o‘  ‘r‘  ‘l‘  ‘d‘]

numpy.fromiter

此函数从任何可迭代对象构建一个ndarray对象,返回一个新的一维数组。

numpy.fromiter(iterable, dtype, count = -1)

构造器接受下列参数:

序号 参数及描述
1. iterable 任何可迭代对象
2. dtype 返回数组的数据类型
3. count 需要读取的数据数量,默认为-1,读取所有数据

以下示例展示了如何使用内置的range()函数返回列表对象。 此列表的迭代器用于形成ndarray对象。

示例 1

# 使用 range 函数创建列表对象
import numpy as np
list = range(5)
print list

输出如下:

[0,  1,  2,  3,  4]

示例 2

# 从列表中获得迭代器
import numpy as np
list = range(5)
it = iter(list)
# 使用迭代器创建 ndarray
x = np.fromiter(it, dtype =  float)
print x

输出如下:

[0.   1.   2.   3.   4.]

原文地址:https://www.cnblogs.com/navysummer/p/9640692.html

时间: 2024-11-06 21:21:14

NumPy来自现有数据的数组的相关文章

NumPy常用函数(一)——构造数组函数及代码示例

NumPy是Python的一个科学计算的基本模块.它是一个Python库,提供了一个多维数组对象,各种衍生对象(如屏蔽数组和矩阵),以及用于数组,数学,逻辑,形状操纵,排序,选择,I/O等快速操作的各种例程 离散傅里叶变换,基本线性代数,基本统计运算,随机模拟等等. 本文主要列出构造数组常用的函数或者成为子模块 一.0-1数组 empty(shape [,dtype,order])                      返回给定形状和类型的新数组,而不初始化条目. empty_like(a

一个简单xml数据转换为数组的方法

本人用easywechat做微信回复图文,从数据库中拿到的数据直接是xml拼好的数据,但是框架只有自带的获取xml格式的语句,所有需要将xml数据中所需要的数据拿出来用来拼接. 搜了好多资料说的都很麻烦.ps:可能是我水平不够;-) ok,废话不多说, 上代码: // 以这个xml数据串为例 $xml = "<item><Title><![CDATA[亲爱的顾客:]]></Title><Content><![CDATA[]]>

mustache 获取json数据内数组对象指定元素的方法

由于最近项目再用mustache,因此发现了这个问题,mustache无法获取json数据内数组键值的指定索引的元素 遂上网查资料总结一下两种方法 1,数据为数组对像 var obj = [{name: 'foo'}, {name: 'bar'}]; var tmp = '{{#1}}{{name}}{{/1}}'; console.log(Mustache.render(tmp, obj)); //bar 这种方法个人觉得有一定局限性 -----参照:http://stackoverflow.

键盘录入6个int类型的数据存入数组arr中,将arr数组中的内容反转...

有一道很有意思的数组操作相关编程题,闲来无事用JS解决了一下,问题描述如下: (1) 键盘录入6个int类型的数据存入数组arr中: (2) 将arr数组中的内容反转: (3) 将反转后的数组角标为奇数的元素相互交换,即1和3交换,3和5交换,以此类推: (4) 将数组中最后一个角标为奇数的元素和数组中第一个角标为奇数的元素交换: (5)打印最终的数组,(实现了1—4步之后的数组) 示例:如用户输入的6个整数为[1,2,3,4,5,6]>[6,5,4,3,2,1]>[6,3,4,1,2,5]&

NumPy 从数值范围创建数组

numpy从数值范围创建数组主要有:创建指定范围的数组(numpy.arange).创建指定范围的等差数列(numpy.lineapace).创建指定范围的等比数列(numpy.logspace) 1.numpy.arange(start, stop, step, dtype) start:起始值,默认为0 stop:结束值,这个是必需,传一个值的时候虽然是赋值给了start,但是却是一个结束值 step:步长,默认为1 dtype:数据类型,如果没有提供,则会使用输入数据的类型. import

TensorFlow中numpy与tensor数据相互转化

numpy与tensor数据相互转化: *Numpy2Tensor 虽然TensorFlow网络在输入Numpy数据时会自动转换为Tensor来处理,但是我们自己也可以去显式的转换: data_tensor= tf.convert_to_tensor(data_numpy) *Tensor2Numpy 网络输出的结果仍为Tensor,当我们要用这些结果去执行只能由Numpy数据来执行的操作时就会出现莫名其妙的错误.解决方法: with tf.Session() as sess: data_num

在拥有20个整数数据的数组中查找某个数据。

在随机生成一个有20个整数数据的数组中查找某个数据. #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 20 int main() { int array[N],x,i; int f = -1; srand(time(NULL)); //随机种子 for(i = 0; i < N; i++) { array[i] = rand()/1000; //产生数组 } printf(&qu

013.CI4框架CodeIgniter数据库操作之:查询数据库,并让数据以数组的方式返回查询结果

01. 我们在CI4框架中的Model文件夹新建一个User_model.php的文件,使用的是getResultArray,表示并让数据以数组的方式返回查询结果,代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class User_model extends Model { var $Db; function __construct() { parent::__construct(); //创建数据库连接 $thi

numpy.loadtxt读取数据

data=numpy.loadtxt('数据路径.txt',delimiter=',',usecols=(0,1,2,3) , dtype=float)#读取后是多元数组格式 然后利用数组的特征获取不同列 value=data[:,0:3],classfiy=data[:,4] 参数usecols:选取数据的列. 这里主要说一下usecols的用法.如果iris.txt中的前4列,则usecols=(0,1,2,3).如果取第5列这一列,则usecols=(4,).这种取单一列的情况容易出问题,