numpy数组如何交换行列?(将BGR变成RGB)

# -*- coding: utf-8 -*-
"""
@File    : numpy_test.py
@Time    : 2020/12/18 9:11
@Author  : Dontla
@Email   : sxana@qq.com
@Software: PyCharm
"""
import numpy as np

arr = np.arange(24).reshape(2, 3, 4)
print(arr)
# [[[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]
#
#  [[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]]
print(arr[[1, 0], :, :])  # 交换第一维度的两元素
# [[[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]
#
#  [[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]]
print(arr[:, [0, 2, 1], :])  # 交换第二维度的元素
# [[[ 0  1  2  3]
#   [ 8  9 10 11]
#   [ 4  5  6  7]]
#
#  [[12 13 14 15]
#   [20 21 22 23]
#   [16 17 18 19]]]
print(arr[:, :, [0, 2, 1, 3]])  # 交换第三维度元素
# [[[ 0  2  1  3]
#   [ 4  6  5  7]
#   [ 8 10  9 11]]
# 
#  [[12 14 13 15]
#   [16 18 17 19]
#   [20 22 21 23]]]

当然想要删掉某一行、列也是可以的,只需要不指定那行的下标即可

print(arr[:, :, [0, 2, 1]])  # 交换并删除指定行、列
# [[[ 0  2  1]
#   [ 4  6  5]
#   [ 8 10  9]]
# 
#  [[12 14 13]
#   [16 18 17]
#   [20 22 21]]]

参考文章:交换二维numpy数组中的两行和两列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dontla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值