我正在为一件非常简单的事情而挣扎。
我想打印一个特定格式的字符串:
import numpy as np
array = np.array([123.456789, 1.23456, 12.3456])
print("My First number is %3.4f, second %1.2f and third %2.9f" % array)
"array"是一个numpy数组,包含我想要打印的参数(大小:(1,3((。但我收到以下错误消息:
TypeError:只有size-1数组可以转换为Python标量
这很好
array = (123.456789, 1.23456, 12.3456)
print("My First number is %3.4f, second %1.2f and third %2.9f" % array)
但我的数据确实是一个numpy数组。有没有一种简单的方法可以转换数组,将值用作格式化打印pin((的参数?
传递到元组:
print("My First number is %3.4f, second %1.2f and third %2.9f" % tuple(array))
或者使用新格式
array = np.array([123.456789, 1.23456, 12.3456])
print("My First number is {:3.4f}, second {:1.2f} and third {:2.9f}".format(*array))
>> My First number is 123.4568, second 1.23 and third 12.345600000
如果有多个项目要格式化到字符串中,%formatter需要一个元组,这应该会修复
print("My First number is %3.4f, second %1.2f and third %2.9f" % (array[0],array[1],array[2]))
它不起作用,因为两者不是同一个对象。第一个数组是numpy.ndarray
第二个数组是元组。
所以
为了运行第一个numpy.ndarray,请尝试以下行
array1=np.array([123.4567891.2345612.3456](
打印("我的第一个号码是%3.4f,第二个是%1.2f,第三个是%2.9f",array1[0],array1[1],array1[2](