我只有一个数据文件,例如:
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数组 - pythonNumPy中是否有一种简单的方法来展平类型对象数组?我知道.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(…