打印不带括号的Numpy数组

时间:2018-09-19 00:31:49

标签: python numpy

predictions  = [x6,x5,x4,x3,x2,x1]
predictions

调用上面的列表将产生以下数组:

[array([782.36739152]),
 array([783.31415872]),
 array([726.90474426]),
 array([772.08910103]),
 array([728.79734162]),
 array([753.67887657])]

但是我只想打印或调用内部的数字,数字周围没有数组或方括号。

使用下面的函数可以将数字干净地保存为CSV,但是我不想保存数字,我想在iPython中调用它们:

np.savetxt("P:/Earnest/Old/R/OutputPython.csv", predictions, delimiter=",")

我该如何实现?

4 个答案:

答案 0 :(得分:3)

如果将predictions更改为numpy数组,则可以使用print(*predictions.flatten(), sep=', ')

您可以尝试以下操作:

import numpy as np

predictions = np.array([np.array([782.36739152]),
                        np.array([783.31415872]),
                        np.array([726.90474426]),
                        np.array([772.08910103]),
                        np.array([728.79734162]),
                        np.array([753.67887657])])


print(*predictions.flatten(), sep=', ')

输出:

782.36739152, 783.31415872, 726.90474426, 772.08910103, 728.79734162, 753.67887657

答案 1 :(得分:1)

结果将是一个字符串。

>>> ' '.join(str(x[0]) for x in predicitons)
'782.36739152 783.31415872 726.90474426 772.08910103 728.79734162 753.67887657'

您也可以舍入结果,例如str(round(x[0], 2))

答案 2 :(得分:0)

尝试一下:

print(' '.join(str(i.tolist()[0]) for i in arr))

答案 3 :(得分:-1)

Numpy数组几乎总是带有括号。如果您不希望每个数字都放在方括号内,但又希望它们放在整个数组中,那么以下代码可能会有所帮助:

', '.join([str(lst[0]) for lst in predictions])

可以修改分隔符以适合您的目的。

希望有帮助。