numpy中set_printoptions使用方法
简介
在使用NumPy进行数据处理和科学计算时,经常会遇到需要打印数组或矩阵的情况。NumPy提供了`set_printoptions`函数,可以用来设置数组或矩阵的打印输出格式。本文将介绍`set_printoptions`的使用方法,以及它的一些常用参数。
使用方法
在使用NumPy之前,我们需要先导入NumPy库:
```python
importnumpyasnp
```
然后我们可以使用`set_printoptions`函数来设置打印输出的格式。它的基本语法如下:
```python
np.set_printoptions(**kwargs)
```
这里的`kwargs`是一个字典参数,可以用来设置不同的打印选项。
设置小数点精度
我们可以使用`precision`参数来设置小数点的位数,默认为8位。例如,要将小数点精度设置为2位,可以使用以下代码:
```python
np.set_printoptions(precision=2)
```
设置浮点数显示方式
默认情况下,NumPy使用科学计数法来显示浮点数。如果希望使用固定的小数位数或最大位数的方式来显示浮点数,可以使用`floatmode`参数。`floatmode`参数有三个可选值,分别对应不同的显示方式:
-`fixed`:固定小数位数的方式显示浮点数。
-`maxprec`:最大位数的方式显示浮点数。
-`unique`:总是以唯一的方式显示浮点数。
以下代码将浮点数的显示方式设置为固定小数位数(2位):
```python
np.set_printoptions(floatmode='fixed',precision=2)
```
设置数组打印的最大行数和列数
在打印较大的数组时,我们可能希望控制打印的行数和列数,以便更好地查看数据。NumPy提供了`threshold`参数来设置数组打印的最大行数和最大列数。以下代码将最大行数设置为3,最大列数设置为4:
```python
np.set_printoptions(threshold=3,edgeitems=4)
```
设置缩略形式显示数组
当数组太大无法完全显示时,NumPy默认使用省略号来表示缩略。我们可以使用`threshold`参数来设置何时开始使用缩略形式。以下代码将缩略形式的阈值设置为5:
```python
np.set_printoptions(threshold=5)
```
设置数组打印时的字符串对齐方式
在打印数组时,默认情况下,NumPy会按列对齐数组的元素。我们可以使用`formatter`参数来设置打印时的字符串对齐方式。以下代码将对齐方式设置为左对齐:
```python
np.set_printoptions(formatter={'str_kind':'{:<7}'.format})
```
示例
下面通过几个示例来展示`set_printoptions`的使用方法。
示例1:设置小数点精度和浮点数显示方式
```python
importnumpyasnp
arr=np.array([1.11111111,2.22222222,3.33333333])
设置小数点精度为2位,浮点数显示方式为最大位数
np.set_printoptions(precision=2,floatmode='maxprec')
print("数组arr:")
print(arr)
```
输出结果为:
```
数组arr:
[1.112.223.33]
```
示例2:设置最大行数和列数
```python
importnumpyasnp
arr=np.random.randint(0,10,size=(6,6))
设置最大行数为3,最大列数为4
np.set_printoptions(threshold=3,edgeitems=4)
print("数组arr:")
print(arr)
```
输出结果为:
```
numpy库功能数组arr:
[[354]
[203]
[299]
...
[148]
[109]
[973]]
```
示例3:设置缩略形式和字符串对齐方式
```python
importnumpyasnp
arr=np.arange(10)
设置缩略形式的阈值为5,字符串对齐方式为左对齐
np.set_printoptions(threshold=5,formatter={'str_kind':'{:<2}'.format})
print("数组arr:")
print(arr)
```
输出结果为:
```
数组arr:
[789]
```
总结
本文介绍了NumPy中`set_printoptions`函数的使用方法,以及它的常用参数。通过设置打印输出的格式,我们可以更好地查看和理解数组或矩阵的内容。希望本文对你在使用NumPy库时有所帮助。