Python 玩转数据 1 - NumPy ndarray Attributes 多维数组属性 ndim shape size axis

引言

主要介绍 NumPy 模块及其多维数组的属性,更多 Pyton 进阶系列文章,请参考 Python 进阶学习 玩转数据系列

内容提要:

  1. NumPy 模块的导入
  2. NumPy 多维数组属性

NumPy 模块的导入

NumPy 是 Numerical Python 的缩写,更多细节请参考 NumPy 官网
导入 NumPy 模块并 check 其版本:通常 np 作为 NumPy的别名。

import numpy as np

version = np.__version__
print(version)

输出:

1.19.1

NumPy 多维数组属性

.ndim: 数组的维度
.size: 数组元素的总个数或数组某个具体的维度的元素的个数
.shape: 是一个元组,其中的元素分别代码每个维度元素的个数。
axis: 数组某个维度

多维数组举例ndimsizeshapeaxis
1 维数组[1,2,3,4]14(4,)axis=0 第1维度(其元素个数为4)
2 维数组 [[1,2],[3,4],[5,6]]26(3,2)axis=0 第1维度(其元素个数为3), axis=1 第2维度(其元素个数为2)
3 维数组[[[1,2,3,4],[1,3,4,5]],[[2,4,7,5],[8,4,3,5]],[[2,5,7,3],[1,5,3,7]]]324(3,2,4)axis=0 第1维度(其元素个数为3), axis=1 第2维度(其元素个数为2),axis=2 第3维度(其元素个数为4)

图解:

在这里插入图片描述

黑色框框表示第 1 维
红色框框表示第 2 维
蓝色框框表示第 3 维
在这里插入图片描述
代码:

import numpy as np

arr_1_d = np.array ([1,2,3,4])
arr_2_d = np.array ([[1,2],[3,4],[5,6]])
arr_3_d = np.array([[[1,2,3,4],[1,3,4,5]],[[2,4,7,5],[8,4,3,5]],[[2,5,7,3],[1,5,3,7]]])

print("1 dimension array============================")
print("arr_1_d:{}".format(arr_1_d))
print("arr_1_d ndim:{}".format(arr_1_d.ndim))
print("arr_1_d shape:{}".format(arr_1_d.shape))
print("arr_1_d size:{}".format(arr_1_d.size))
print("arr_1_d #No.1 dimension size:{}".format(np.size(arr_1_d, axis=0)))

print("2 dimension array============================")
print("arr_2_d:{}".format(arr_2_d))
print("arr_2_d ndim:{}".format(arr_2_d.ndim))
print("arr_2_d shape:{}".format(arr_2_d.shape))
print("arr_2_d size:{}".format(arr_2_d.size))
print("arr_2_d #No.1 dimension size:{}".format(np.size(arr_2_d, axis=0)))
print("arr_2_d #No.2 dimension size:{}".format(np.size(arr_2_d, axis=1)))

print("3 dimension array============================")
print("arr_3_d:{}".format(arr_3_d))
print("arr_3_d ndim:{}".format(arr_3_d.ndim))
print("arr_3_d shape:{}".format(arr_3_d.shape))
print("arr_3_d size:{}".format(arr_3_d.size))
print("arr_3_d #No.1 dimension size:{}".format(np.size(arr_3_d, axis=0)))
print("arr_3_d #No.2 dimension size:{}".format(np.size(arr_3_d, axis=1)))
print("arr_3_d #No.3 dimension size:{}".format(np.size(arr_3_d, axis=2)))

输出:

1 dimension array============================
arr_1_d:[1 2 3 4]
arr_1_d ndim:1
arr_1_d shape:(4,)
arr_1_d size:4
arr_1_d #No.1 dimension size:4
2 dimension array============================
arr_2_d:[[1 2]
 [3 4]
 [5 6]]
arr_2_d ndim:2
arr_2_d shape:(3, 2)
arr_2_d size:6
arr_2_d #No.1 dimension size:3
arr_2_d #No.2 dimension size:2
3 dimension array============================
arr_3_d:[[[1 2 3 4]
  [1 3 4 5]]

 [[2 4 7 5]
  [8 4 3 5]]

 [[2 5 7 3]
  [1 5 3 7]]]
arr_3_d ndim:3
arr_3_d shape:(3, 2, 4)
arr_3_d size:24
arr_3_d #No.1 dimension size:3
arr_3_d #No.2 dimension size:2
arr_3_d #No.3 dimension size:4
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值