2

我计算了几个列表的平均值。现在我想将数据保存到 txt 或 csv 文件。这是我的方法:

k=range(8,15)
for i in k:
    q=range(i)
    g=mean(q)    
    print g        
    savetxt('mean_values.txt', g)

但这给了我IndexError: tuple index out of range。我认为这是因为savetxt需要一个数组,但gconatins 浮动。但即使我定义了一个数组g_,我最终也会遇到同样的错误:

k=range(8,15)
for i in k:
    q=range(i)
    g=mean(q)    
    g_=array(g)    
    print g_
    savetxt('mean_values.txt', g_)

诀窍在哪里?

4

3 回答 3

3

在您的第一次尝试中,您尝试保存一个numpy.float64变量,并且文档说numpy.savetxt需要一个类似 array_like 的对象。

在您的第二次尝试中,您错过了指定矩阵的括号g_=array([g]),但是如果您将 txt 保存在循环中,您将每次都覆盖您的输出文件。

我想这就是你想要的:

import numpy as np

g = list()
k = range(8,15)
for i in k:
    q = range(i)
    g.append(np.mean(q))

np.savetxt('myfile.txt', np.array(g), fmt='%.2f')

输出myfile.txt

3.50
4.00
4.50
5.00
5.50
6.00
6.50
于 2013-11-13T14:53:15.197 回答
1
myFile = open("mean_values.csv","w")
myFile.write("ID" + "," + "Mean Value" +"\n") //column headers
k=range(8,15)
for i in k:
    q=range(i)
    g=str(mean(q))   
    myFile.write(str(i) + "," + g +"\n")
myFile.close() 

在 excel 中打开时应该给你 2 列。一个有 ID 一个有平均值

于 2013-11-13T15:15:39.277 回答
0

使用(g,)而不是g使它成为一个包含一个浮点数的元组。

于 2013-11-13T14:28:04.353 回答