我得到了以下numpy数组:

a = np.array([
       [ 0.87142134, -1.99712722, -0.17742774],
       [-0.15155389,  0.0450012 ,  0.23662928],
       [-0.84674329,  2.34415168,  1.23702494],
       [ 1.98923065, -0.02327895,  0.21864032],
       [ 1.62936827,  1.39849021,  1.04613713]])

我想在位置0和位置1之间交换值,如下所示:

array([[-1.99712722, 0.87142134,  -0.17742774],
       [0.0450012, -0.15155389,   0.23662928],
       [2.34415168, -0.84674329,    1.23702494],
       [-0.02327895, 1.98923065,   0.21864032],
       [1.39849021, 1.62936827,  1.04613713]])

我try 了以下代码,但失败了:

b = a.T
b[1], b[0] = b[0], b[1]

我怎样才能达到这个结果?

推荐答案

你可以使用:

a[:, [0,1]] = a[:, [1,0]]

输出:

array([[-1.99712722,  0.87142134, -0.17742774],
       [ 0.0450012 , -0.15155389,  0.23662928],
       [ 2.34415168, -0.84674329,  1.23702494],
       [-0.02327895,  1.98923065,  0.21864032],
       [ 1.39849021,  1.62936827,  1.04613713]])

Python相关问答推荐

在Python中使用yaml渲染(多行字符串)

Flask运行时无法在Python中打印到控制台

从嵌套极轴列的列表中删除元素

极柱内丢失类型信息""

启动线程时,Python键盘模块冻结/不工作

通过对列的其余部分进行采样,在Polars DataFrame中填充_null`?

在MongoDB文档中仅返回数组字段

pyspark where子句可以在不存在的列上工作

根据两个lambda条件筛选组并根据条件创建新列的最佳方式是什么?

Raspberry Pi Pico W、WebSockets和从中获取数据

Df.Drop_Duplates(),以极点表示?

apply to pandas列不会给出正确的结果.

如何将数据从一个数据框按行添加到另一个数据框,仅当两个数据框中第一列的值相等时?

ImportError Django无法导入名称SignupView'

用于判断x=()的&Quot;isInstance()和Not&Quot;vs&Quot;==&Quot;

在Python中使用";swmm_api";包中的";lid_use";时出错?

如何从直接URL和间接URL中提取文件扩展名?

POLARS:从GROUP_BY列表中 Select 值,并从另一列中 Select 值

用Arpeggio解析单行和多行注释

特定 struct 中的最大元素