给出像这样的numpy数组:
prob= [[ -1.77244641 -3.89116659 -4.92632753 -8.04921303
-9.05286957]]
我希望将它们写在以逗号分隔的文件中,并将小数位减少为4。 这就是我的尝试:
for pk in prob:
jk=' '.join(str(b) for b in pk)
f.write("("+ "%.4f" %jk + ")")
f.write("\t")
q=map(float, jk.split(','))
然而,这不接受十进制限制逻辑,并给出一个错误,说浮动参数不需要字符串..我试图提取概率并像这样写:
(-1.7724, -3.8911, -4.9263, -8.0492, -9.0528)
答案 0 :(得分:0)
您需要对每个字符串进行格式化,而不是对连接的字符串进行格式化。另一件事:你说逗号分隔,但你用空格加入它们。以下是您的程序应该是什么样的:
for pk in prob:
jk = ','.join(["%.4f" % b for b in pk])
f.write("(" + jk + ")" + "\t")
由于q = map(float, pk.split(','))
已经存储了所有花车,因此pk
行无用。
答案 1 :(得分:0)
我认为您的prob
喜欢这样:
prob=numpy.array([[ -1.77244641 , -3.89116659 ,-4.92632753, -8.04921303,
-9.05286957]])
我改变了你的代码:
for pk in prob:
jk=', '.join("%.4f"%b for b in pk)
jk="("+jk+")"+"\t"
f.write(jk)