在将少量浮点数数组打印到控制台时,我想要一个快速的视觉提示。如何使用颜色表示阳性/阴性?
我发现这种改变控制台颜色的方法很笨拙,但是我不确定它是否对我有帮助:
>>>YELLOW = '\033[93m'
>>>ENDCOLOR = '\033[0m'
>>>print(YELLOW+'hello'+ENDCOLOR)
hello # <-- this is yellow
>>>this is in your regular console color
但是如果省略最后一个字符串:
>>>YELLOW = '\033[93m'
>>>ENDCOLOR = '\033[0m'
>>>print(YELLOW+'hello')
hello #<-- it's yellow
>>>this is yellow as well, until you print ENDCOLOR
最佳答案
最干净的方法是使用Vccs Damodar建议的np.set_printoptions
和colorama中的格式化程序kwarg:
import colorama
import numpy as np
def color_sign(x):
c = colorama.Fore.GREEN if x > 0 else colorama.Fore.RED
return f'{c}{x}'
np.set_printoptions(formatter={'float': color_sign})
请注意,这是一个全局配置,将使用此约定打印所有阵列。
关于python - 如果正数我可以用绿色打印一个numpy数组的值,如果负数我可以用红色打印?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48498824/