numpy loadtxt单行/行作为列表 - python

我只有一个数据文件,例如:

 1.2  2.1  3.2

我使用numpy版本1.3.0 loadtxt加载它

 a,b,c = loadtxt("data.dat", usecols(0,1,2), unpack=True)

输出是浮点数而不是数组

 a = 1.2

我希望它将是:

 a = array([1.2])

如果我读取了多行文件,则该文件正在运行。

python大神给出的解决方案

发生的情况是,当您加载数组时,将获得一维数组。打开包装后,它会得到一组数字,即无维数的数组。这是因为解压缩数组时,它的维数减少了一个。从一维数组开始,它可以简化为一个简单的数字。
如果测试a的类型,则它不是浮点数,而是numpy.float,它具有数组的所有属性,但具有作为形状的空元组。因此它是一个数组,只是不表示为一个。
如果您需要的是一个只有一个元素的一维数组,最简单的方法是在拆包之前重塑数组:

#note the reshape function to transform the shape
a,b,c = loadtxt("text.txt").reshape((-1,1))

这给您预期的结果。发生的事情是,将其重塑为二维数组,以便在拆包时,维数减少到一。
编辑:
如果您需要它在多维数组中正常工作并在读取一维数组时保持一维,我认为最好的方法是使用loadtxt正常读取并在第二阶段对数组进行整形,如果它们是纯数字

a,b,c = loadtxt("text.txt",unpack=True)
for e in [a,b,c]
    e.reshape(e.shape if e.shape else (-1,))

在Numpy数组中替换子数组 - python

我正在尝试将Numpy数组中的子数组替换为形状相同的数组,以使所有更改都在两个数组中得到镜像。我在IDLE中运行了以下代码。import numpy a=numpy.zeros((2,1)) a array([[0.], [0.]]) b=numpy.zeros((1)) b array([0.]) a[0]=b b[0]=1 b array([1.]) 现…

展平numpy数组 - python

NumPy中是否有一种简单的方法来展平类型对象数组?我知道.flatten()方法将由相同大小的数组构造的非对象类型数组展平:I1 a = np.array([[1],[2],[3]]) I2 a.flatten() O2 array([1, 2, 3]) 但是,我无法将dtype = object数组展平:I4 b O4 array([[1], [2, 3…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

用傅立叶变换做卷积? - python

根据卷积定理(links),我们可以将傅立叶变换算子进行卷积。使用python和scripy,我的代码在下面,但不正确。你能帮我解释一下吗?import tensorflow as tf import sys from scipy import signal from scipy import linalg import numpy as np x = [[…

如何在python中将.npz格式转换为.csv? - python

我是python的新手。我想将.npz file(.npz是一种numpy文件格式)转换为.csv文件,以便在R中使用它。请提出一种方法 python大神给出的解决方案 尝试类似的方法:import numpy as np data = np.load(filename) for key, value in data.items(): np.savetxt(…