Numpy一维、二维、三维数组切片实例

复制代码
import  numpy as np
a=np.array([1,2,3,4,5,6])
print(a[1])
# 2
print(a[1:4])
# [2 3 4]
print(a[0:5:2])
# [1 3 5]
#数组翻转
print(a[::-1])
# [6 5 4 3 2 1]
a[2:5]=88
print(a)
# [ 1  2 88 88 88  6]
b=a[2:5].copy()
b[:]=99
print(a)
# [ 1  2 88 88 88  6]
print(b)
# [99 99 99]
#切片的修改作用在了原始数据上,数组切片是原始数组的视图。.copy()是对数据的复制,不会影响原始数据
a=np.array([[1,2,3],[4,5,6]])
print(a)
# [[1 2 3]
#  [4 5 6]]
print(a[1])
# [4 5 6]
print(a[1,1])
# 5
print(a[1][1]) #a[1,1]与a[1][1]等价
# 5
#数组的形状(2,3)
print(a.shape)
#数组的维度2
print(a.ndim)
#数组的求和1+2+3+4+5+6,a.sum(),np.sum(a)两者是有区别的,具体见后续
print(a.sum())
print(np.sum(a))
#求数组每一列的和axis=1水平方向,axis=0垂直方向
print(np.sum(a,axis=1))
# [ 6 15]
print(np.sum(a,axis=0))
# [5 7 9]
print(a[:2,1:])  #前两行的,列1到后面
# [[2 3]
#  [5 6]]
print(a[1,:2])     #第2行(从0开始算第一行)的两列
# [4 5]
print(a[:2,2])     #前两行的第3列
# [3 6]
print(a[:,:1])
# [[1]
#  [4]]
复制代码
a3d=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
print(a3d)
# [[[ 1  2  3]
#   [ 4  5  6]]
#
#  [[ 7  8  9]
#   [10 11 12]]]
print(a3d.ndim,a3d.shape)
# 3 (2, 2, 3)
print(a3d[0])
# [[1 2 3]
#  [4 5 6]]

print(a3d[0,0])
# [1 2 3]
print(a3d[0,0,0])
# 1
a3d0_copy=a3d[0].copy()
a3d[0]=88
print(a3d)
# [[[88 88 88]
#   [88 88 88]]
#
#  [[ 7  8  9]
#   [10 11 12]]]
a3d[0]=a3d0_copy
print(a3d)
# [[[ 1  2  3]
#   [ 4  5  6]]
#
#  [[ 7  8  9]
#   [10 11 12]]]
相关推荐
20岁30年经验的码农35 分钟前
Java Elasticsearch 实战指南
java·开发语言·elasticsearch
雾岛听蓝39 分钟前
C++ 类和对象(一):从概念到实践,吃透类的核心基础
开发语言·c++·经验分享·笔记
CoderYanger1 小时前
优选算法-优先级队列(堆):75.数据流中的第K大元素
java·开发语言·算法·leetcode·职场和发展·1024程序员节
TracyCoder1231 小时前
MySQL 实战宝典(八):Java后端MySQL分库分表工具解析与选型秘籍
java·开发语言·mysql
非凡的世界1 小时前
为什么我和越来越多的PHP程序员,选择了 Webman ?
开发语言·php·workman·webman
艾莉丝努力练剑1 小时前
【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
大数据·人工智能·爬虫·python·pycharm·编辑器
MarkHD1 小时前
车辆TBOX科普 第45次
java·开发语言
gCode Teacher 格码致知1 小时前
Python基础教学:如何拼接字符串?-由Deepseek产生
python
还债大湿兄1 小时前
阿里通义千问调用图像大模型生成轮动漫风格 python调用
开发语言·前端·python
blank@l1 小时前
python测开小工具--日志查询分析工具
python·python接口自动化测试基础·python测试开发·日志查询分析·日志分析统计查询·软件测试工具·argparse模块