Numpy 打印不带换行符的对象
在使用numpy进行数据处理时,我们常常需要打印数组或矩阵等对象,以观察数据结构和内容。然而,numpy默认的打印方式往往会在每一行结尾添加换行符,这给观察数据带来了不便。那么,怎样打印不带换行符的numpy对象呢?本文将介绍几种实用的方法。
阅读更多:Numpy 教程
方法一:使用print()函数
我们可以使用Python内置的print()函数,加上end参数,来避免numpy对象打印时换行的问题。代码如下:
import numpy as np
a = np.array([1, 2, 3])
print(a, end=' ')
print("Hello world")
输出结果为:
[1 2 3] Hello world
可以看到,使用end参数将每次输出结尾的默认换行符替换为了一个空格,从而实现了去掉numpy对象换行的效果。
方法二:使用numpy.set_printoptions()
另一种方法是使用numpy的set_printoptions()函数,其中的参数formatter可以自定义输出格式。代码如下:
import numpy as np
a = np.array([1, 2, 3])
np.set_printoptions(formatter={'all': lambda x: str(x)})
print(a)
输出结果为:
[1 2 3]
可以看到,使用set_printoptions()函数,我们可以将默认的numpy对象输出格式进行修改,并输出不带换行的效果。
方法三:使用numpy.savetxt()
如果我们需要将numpy对象保存到文件中,就可以使用numpy提供的savetxt()函数。这个函数可以将数组写入csv文件或文本文件中,其中,参数newline可以控制每行输出的结尾字符,从而实现不带换行的效果。代码如下:
import numpy as np
a = np.array([1, 2, 3])
np.savetxt("data.csv", [a], delimiter=",", fmt='%d', newline=' ')
with open("data.csv") as f:
lines = f.readlines()
for line in lines:
print(line)
输出结果为:
1, 2, 3
可以看到,使用savetxt()函数,我们可以将numpy对象输出到csv文件或文本文件中,同时实现不带换行的输出效果。
总结
本文介绍了三种打印不带换行符的numpy对象的方法。使用print()函数可以较为方便地实现简单的打印功能;使用set_printoptions()函数可以自定义numpy对象的输出格式,从而不带换行的打印效果更佳;而使用savetxt()函数则可以实现输出numpy对象到csv文件或文本文件时不带换行的效果。以上方法各有优缺点,可根据需要灵活运用。
极客笔记