【发布时间】:2014-07-31 13:56:56
【问题描述】:
我有一个 csv 文件,其标题如下:
鉴于此test.csv 文件:
"A","B","C","D","E","F","timestamp"
611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291111964948
611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291113113366
611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291120650486
如果,我使用load.txt,那么我会得到一个包含exponential 值的3 行7 列数组。
r1 = numpy.loadtxt(open("test.csv","rb"),delimiter=",",skiprows=1)
我明白了
[[ 6.11882430e+02 9.08956010e+03 5.13300000e+03 8.64075140e+02
1.71537476e+03 7.65227770e+02 1.29111196e+12]
[ 6.11882430e+02 9.08956010e+03 5.13300000e+03 8.64075140e+02
1.71537476e+03 7.65227770e+02 1.29111311e+12]
[ 6.11882430e+02 9.08956010e+03 5.13300000e+03 8.64075140e+02
1.71537476e+03 7.65227770e+02 1.29112065e+12]]
为了避免exponential,我使用了以下代码,但它仍然给出了相同的指数值。我的代码避免指数:
r1 = np.loadtxt(open("test.csv","rb"),delimiter=",", dtype=np.float64, skiprows=1)
在创建 numpy 矩阵时有什么方法可以删除 exponential 吗?我知道我可以稍后使用 numpy.savetxt(sys.stdout, r1, '%5.2f') 删除这些值,但我希望它在创建矩阵时而不是在创建之后。
【问题讨论】:
-
611.88243 is 6.11882430e+02,考虑到与浮点运算相关的问题)。您不想读入值吗?否则,您在寻找什么样的结果?另外,您想对已经采用指数表示法 (1.291111964948E12) 的最后一列输入做什么?
-
为什么重要?除了显示方式之外还有什么不同吗?
-
@JoshuaTaylor 查看我的编辑,csv 文件中不会有任何指数值。
-
@RobWatts 是的,我希望我的矩阵看起来很简单
-
@user2481422 那么这只是你如何打印出来的问题 - 你的矩阵的内容没有任何问题。 stackoverflow.com/questions/2891790/… 回答如何做到这一点。
标签: python csv numpy matrix exponential