Python Numpy数组的读入、存储操作

从文件中加载ndarray数组

  • 从文本文件中加载ndarray数组 np.loadtxt

    >>> np.loadtxt(textfile) # textfile是文本文件
  • .npy或者.npz文件中加载ndarray数组np.load

    如果是.npy结尾的文件,则返回单个ndarray数组

    如果是.npz结尾的文件,则返回一个字典类型对象,{filename: array}

    >>> np.load(textfile) # textfile是.npz或.npy结尾的二进制文件

将ndarray数组存入文件

  • 将单个ndarray数组存入一个二进制文件中np.save

    >>> x = np.arange(10)
    >>> np.save(outfile, x) # outfile必须以.npy结尾
  • 将多个ndarray数组存入一个二进制文件中 np.savez
    >>> x = np.arange(10)
    >>> y = np.sin(x)
    >>> np.savez(outfile, x,y) # outfile必须以.npz结尾
  • 将ndarray数组存入文本文件中 np.savetxt
    >>> x = np.arange(10)
    >>> y = np.sin(x)
    >>> np.savetext(outfile, x, delimiter=‘,‘) # outfile为文本文件
    >>> np.savetext(outfile, (x,y))
    >>> np.savetext(outfile, x, fmt=‘%1.4e‘)

原文地址:https://www.cnblogs.com/xiashaopengGo/p/9228623.html

时间: 2024-10-06 23:52:25

Python Numpy数组的读入、存储操作的相关文章

Python numpy数组扩展效率问题

Numpy库的ndarray数组可以方便地进行各种多维数据处理工作 可是它最大的缺点就是不可动态扩展--"NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中."(引用自http://blog.chinaunix.net/uid-23100982-id-3164530.html) 场景: 今天用ndarray处理 42000 条数据时,就遇到了数组扩展的效率问题 文件名:train.csv(后附下载) 文件大

Python Numpy 数组扩展 repeat和tile

numpy.repeat 官方文档 numpy.repeat(a, repeats, axis=None) Repeat elements of an array. 可以看出repeat函数是操作数组中的每一个元素,进行元素的复制. 例如: >>> a = np.arange(3) >>> a array([0, 1, 2]) >>> np.repeat(a, 2) array([0, 0, 1, 1, 2, 2]) >>> a =

python numpy数组中的复制问题

vector = numpy.array([5, 10, 15, 20]) equal_to_ten_or_five = (vector == 10) | (vector == 5) vector[equal_to_ten_or_five] = 50 print(vector) 第一次看到这个的时候一脸懵逼,后来分析了下懂了下面记录下,方便下次看看 第一行分析:结果5, 10, 15, 20 第二行分析:vector == 10 数组和值比对获得结果是每个元素和这个数比较生成相应的bool数组

numpy数组对象的维度操作

1.视图变维(数据共享):reshape()与ravel() import numpy as np a = np.arange(1, 9) print(a) b = a.reshape(2, 4) print(b) c = b.reshape(2, 2, 2) print(c) d = c.ravel() print(d) e = c.flatten() print(e) e += 10 print(e, c, sep='\n') 改变a,b,c,d中任何一个数组,其他数组都会发生变化,原因是b

python图像数组操作与灰度变换

Python图像数组操作与灰度变换 使用python以及numpy通过直接操作图像数组完成一系列基本的图像处理 numpy简介: NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量.矩阵.图像等)以及线性代数函数. 数组对象可以实现数组中重要的操作,比如矩阵乘积.转置.解方程系统.向量乘积和归一化.这为图像变形.对变化进行建模.图像分类.图像聚类等提供了基础. 在上一篇python基本图像操作中,当载入图像时,通过调用 array()

Python中numpy 数组的切片操作

Python中numpy 数组的切片操作简介取元素 X[n0,n1]切片 X[s0:e0,s1:e1]切片特殊情况 X[:e0,s1:]示例代码输出结果简介X[n0,n1]是通过 numpy 库引用二维数组或矩阵中的某一段数据集的一种写法.类似的,X[n0,n1,n2]表示取三维数组,取N维数组则有N个参数,N-1个逗号分隔.以二维数组为例: import numpy as npX = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,

Numpy 数组的切片操作

实例+解释如下(表格):关键是要明白python中数组的下标体系.一套从左往右,一套从右往左. A=np.array([1,2,3,4,5,6,7,8,9,0]) 1 2 3 4 5 6 7 8 9 0 下标系一Index(Left to Right) 0 1 2 3 4 5 6 7 8 9 下标系二Index(Right to Left) -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 A[a:b:c] a和b   确定:切片操作的范围(from a to b, exclude

Numpy数组对象的操作-索引机制、切片和迭代方法

前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange(10,16) In [2]: a Out[2]: array([10, 11, 12, 13, 14, 15]) #使用正数作为索引 In [3]: a[3] Out[3]: 13 #还可以使用负数作为索引 In [4]: a[-4] Out[4]: 12 #方括号中传入多数索引值,可同时选择多个

numpy数组和python数组的区别

1.numpy数组创建时是固定大小,python数组(list)是动态的.更改ndarray的大小将创建一个新数组并删除原来的数组. 2.元素类型区别. NumPy数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同. python的List可以存放不同类型的元素. 例外情况:Python的原生数组里包含了NumPy的对象的时候,这种情况下就允许不同大小元素的数组. 3.数学操作执行效率高于原生python 4.越来越多的基于Python的科学和数学软件包使用NumPy数组 原文地址:h