Datawhale 第十九期 Numpy下 之 Task01:输入输出

一、Numpy简介

Numpy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。
NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。更多重要ndarray对象属性有:
1)ndarray.ndim:数组轴的个数,在python的世界中,轴的个数被称作秩。
2)ndarray.shape:数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性。
3)ndarray.size:数组元素的总个数,等于shape属性中元组元素的乘积。
4)ndarray.dtype:一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
5)ndarray.itemsize:数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).
6)ndarray.data:包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素。
相关代码如下:

c=np.arange(15).reshape(3,5)
print('c=',c)
print('c.shape=',c.shape)
print('c.ndim=',c.ndim)
print('c.dtype.name=',c.dtype.name)
print('c.itemsize',c.itemsize)
print('c.size=',c.size)
print('type(c)=',type(c))

二、输入输出

当你打印一个数组,NumPy以类似嵌套列表的形式显示它,但是呈以下布局:最后的轴从左到右打印,次后的轴从顶向下打印,剩下的轴从顶向下打印,每个切片通过一个空行与下一个隔开。一维数组被打印成行,二维数组成矩阵,三维数组成矩阵列表。

d=np.arange(10)
print('d=',d)#一维数组
e=np.arange(16).reshape(4,4)
print('e=',e)#二维数组
f=np.arange(36).reshape(3,3,4)
print('f=',f)#三维数组

2.1 如何在numpy数组中只打印小数点后三位?

import numpy as np

rand_arr = np.random.random([5, 3])
print('rand_arr=',rand_arr)
#rand_arr= [[0.515034 0.584319 0.565256]
 #[0.360748 0.55013  0.089916]
# [0.443732 0.84107  0.030382]
 #[0.138895 0.483901 0.544292]
 #[0.819551 0.928097 0.48968 ]]

np.set_printoptions(precision=3)
print('rand_arr=',rand_arr)
#rand_arr= [[0.515 0.584 0.565]
# [0.361 0.55  0.09 ]
 #[0.444 0.841 0.03 ]
 #[0.139 0.484 0.544]
# [0.82  0.928 0.49 ]]

2.2 如何限制numpy数组输出中打印的项目数?

import numpy as np

k = np.arange(20)
print('k=',k)
# k= [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
np.set_printoptions(threshold=5)
print('k=',k)
# k= [ 0  1  2 ... 17 18 19]

2.3 如何打印完整的numpy数组而不中断?

import numpy as np

h = np.arange(20)
np.set_printoptions(threshold=6)
print('h=',h)
# h=[ 0  1  2 ... 12 13 14]
np.set_printoptions(threshold=np.iinfo(np.int).max)
print('h=',h)
# h= [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值