我有一个连续值的数据集。最后两列的值是用于回归预测的,我想计算这两列的每一行的正弦值,并将这个新数据集放到另一个文件中。如何创建此新数据集?你知道吗
编辑:我尝试的代码如下。但我有个错误TypeError: list indices must be integers, not tuple
。我该怎么解决?你知道吗
import numpy as np
for i in range (1,4):
f1=open('...'+str(i)+'.dat','r')
f2=open('.....'+str(i)+'.dat','w')
for line in f1:
line=line.split(' ')
print np.sin(line[:,-2:])
f2.write()
f1.close()
f2.close()
谢谢。你知道吗
不知道你的数据到底是什么样子,我只能自己做一些。。。你知道吗
要获取最后两列的所有行,可以使用
[:,-2:]
:然后,用
numpy.sin
应用正弦函数:关于您的更新/新添加的代码:您得到了一个
TypeError
,因为您的line
变量不是numpy
数组,更不是二维数组/矩阵,而是一个简单的一维普通Python列表。你仍然可以在列表中使用np.sin
,但是你必须只使用[-2:]
,因为它是一维的。而且,f2.write()
没有意义;您没有向文件写入任何内容,而是将结果打印到std输出。另外,您正在覆盖输入文件;不确定是否有意这样做。相反,您可能希望使用numpy.loadtxt
和numpy.savetxt
来读取和保存整个数据集。你知道吗尝试以下操作:
相关问题 更多 >
编程相关推荐