numpy.savetxt“元组索引超出范围”? - python

我试图在文本文件中写几行,这是我使用的代码:

import numpy as np

# Generate some test data
data = np.arange(0.0,1000.0,50.0)

with file('test.txt', 'w') as outfile:      
    outfile.write('# something')

    for data_slice in data: 
        np.savetxt(outfile, data_slice, fmt='%1.4e')

        outfile.write('# New slice\n')

当代码运行到savetxt行时,出现以下错误:

     IndexError: tuple index out of range

知道为什么会这样吗?我尝试删除“ fmt”部分,但我得到了同样的东西。

参考方案

问题是numpy.save期望一个数组包含一些形状信息,而您只传递一个数字。

如果您想一次传递一个元素(但我建议您保存整个数组),则必须先将其转换为形状至少为一个的numpy数组

np.savetxt(outfile, array(data_slice).reshape(1,), fmt='%1.4e')

这是因为单个数字的形状是一个无效的元组,并且在写入文件时尝试沿第一维进行拆分

array(1).shape == tuple()
#True

保存整个数组就可以了:

np.savetxt(outfile, data, fmt='%1.4e')

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输出numpy数组作为base64编码的字符串而不是jpg - python

我有一个简单的Python3脚本,它使用以下命令从numpy数组创建图像...cv2.imwrite("finalImage.jpg", numpyArray) 这可以正常工作,但是现在我希望输出的是base64编码的字符串,而不是jpg图像。我知道我可以将输出的jpg图像转换为base64字符串,但是有一种方法可以直接执行此操作,因此我…

在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

很难在标题上对此进行描述,但是鉴于以下两个DataFrame:import pandas as pd import numpy as np import re df1 = pd.DataFrame({ 'url': [ 'http://google.com/car', 'http://google.com/m…