Python 向numpy数组添加索引
我有一个Python 向numpy数组添加索引,python,arrays,numpy,Python,Arrays,Numpy,我有一个numpy数组作为: prob_rf = [[0.4, 0.4, 0.4], [0.5, 0.5, 0.5], [0.6, 0.6, 0.6]] 我想向每个内部数组添加一个索引号,如下所示: prob_rf = [[1, 0.4, 0.4, 0.4], [2, 0.5, 0.5, 0.5], [3, 0.6, 0.6, 0.6]] 然后使用numpy.savetxt将此数组保存到一个csv文件
numpy
数组作为:
prob_rf = [[0.4, 0.4, 0.4],
[0.5, 0.5, 0.5],
[0.6, 0.6, 0.6]]
我想向每个内部数组添加一个索引号,如下所示:
prob_rf = [[1, 0.4, 0.4, 0.4],
[2, 0.5, 0.5, 0.5],
[3, 0.6, 0.6, 0.6]]
然后使用numpy.savetxt
将此数组保存到一个csv
文件中
我目前的工作是:
id = [i for i in xrange(1,len(prob)+1)]
prob_rf = np.insert(prob_rf, 0, id, axis=1)
np.savetxt("foo.csv", prob_rf, delimiter=",", fmt='%1.1f')
但这是将输出作为
[[1.0, 0.4, 0.4, 0.4],
[2.0, 0.5, 0.5, 0.5],
[3.0, 0.6, 0.6, 0.6]]
[[1, 0.4, 0.4, 0.4],
[2, 0.5, 0.5, 0.5],
[3, 0.6, 0.6, 0.6]]
有人能告诉我如何得到输出吗
[[1.0, 0.4, 0.4, 0.4],
[2.0, 0.5, 0.5, 0.5],
[3.0, 0.6, 0.6, 0.6]]
[[1, 0.4, 0.4, 0.4],
[2, 0.5, 0.5, 0.5],
[3, 0.6, 0.6, 0.6]]
使用带有
fmt
参数的列表指定每列的格式:
fmt=['%d', '%1.1f', '%1.1f', '%1.1f']
完整示例:
import numpy as np
prob_rf = [[1, 0.4, 0.4, 0.4],
[2, 0.5, 0.5, 0.5],
[3, 0.6, 0.6, 0.6]]
np.savetxt("foo.csv", prob_rf, delimiter=",", fmt=['%d', '%1.1f', '%1.1f', '%1.1f'])
生成的文件:
1,0.4,0.4,0.4
2,0.5,0.5,0.5
3,0.6,0.6,0.6
如果你不想要的话,为什么要告诉numpy用
fmt='%1.1f'
格式化所有内容?因为我想要的格式是[0.4,0.4,0.4]
否则np.savetext另存为[4.00E-01,4.00E-01,4.00E-01]
,我不想要。