如何用python实现行列互换

 我来答
强尼说
2020-09-17 · TA获得超过150个赞
知道答主
回答量:107
采纳率:0%
帮助的人:8.7万
展开全部

题主既然问出行列转换这样的问题,那就说明题主的Python功力远远不到家的。行列互换其实在Python中很快捷的就可以实现了。

首先,让我们来建立一个矩阵,这里我们使用numpy包下的random包来生成3×3的矩阵。大概的代码如下所示:

import numpy as np

a=np.random.random((3,3))

这样,我们就可以生成一个随机数组成的3×3矩阵。之后我们就可以将这个矩阵进行行列互换了。具体代码也非常的简单,具体如下所示:

b=a.T

如上所示,只需要对a对象进行T操作,就可将我们的数据进行行列转换了。

所以,题主在学习的时候,一定要学会用简单的方法去解决复杂的问题。而不要将自己的问题复杂化,就如同楼上某位同学写的代码那样,明显太复杂了。本来三行代码能够实现的功能,搞得如此纠结。

另外,如果题主想进入数据分析行业,我推荐一本Python的相关书籍给你,这本书可以让你掌握一些常见的数据整理、数据清洗操作。这本书的名字是《利用Python进行数据分析》,该书作者是高效数据分析包Pandas的开发者,对数据分析基本技能的提升作用显著。

如果有什么想与我交流的,欢迎在本题下进行评论。

六锶尽念飘1e
2016-12-04 · TA获得超过1693个赞
知道大有可为答主
回答量:2034
采纳率:82%
帮助的人:1511万
展开全部

以下代码调试通过:

matrix = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12],
]

trans = []
for i in range(4):
    trans.append([row[i] for row in matrix])

print('\n', trans)

运行效果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lejoylejoy
2017-04-12 · TA获得超过1003个赞
知道小有建树答主
回答量:513
采纳率:75%
帮助的人:443万
展开全部

是需要把一个二维数组行列互换么?

a = [
       [11, 12, 13, 14],
       [21, 22, 23, 24],
       [31, 32, 33, 34],
       [41, 42, 43, 44]
    ]

b = []
for i in range(len(a[0])):
    n = []
    for j in range(len(a)):
        n.append(a[j][i])
    b.append(n)
print b

得到的结果 应该就是你想要的:

b = [[11, 21, 31, 41], [12, 22, 32, 42], [13, 23, 33, 43], [14, 24, 34, 44]]

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
米拔0g4
2017-05-31 · TA获得超过757个赞
知道小有建树答主
回答量:307
采纳率:83%
帮助的人:35.2万
展开全部
基本的python吧:

In [1]: a=[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

In [2]: print map(list,zip(*a))
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式