3 回答

TA貢獻1851條經(jīng)驗 獲得超5個贊
嘗試一下numpy。它是用C編寫的高性能數(shù)學庫的python綁定。我相信它具有矩陣切片運算的相同概念,并且比純python編寫的相同代碼(在大多數(shù)情況下)要快得多。
關(guān)于您的示例,我認為最接近的是使用numpy.mean。
在純python中,很難計算列的均值,但是您可以使用以下方法對矩陣進行轉(zhuǎn)置:
# there are no builtin avg function
def avg(lst):
return sum(lst)/len(lst)
rows = list(avg(row) for row in a)

TA貢獻1775條經(jīng)驗 獲得超8個贊
是的,如果您使用numpy,則可以使用x [:,1],并且還可以獲得其他數(shù)據(jù)結(jié)構(gòu)(向量而不是列表),matlab和numpy之間的主要區(qū)別是matlab使用矩陣進行計算,而numpy使用向量,但是您已經(jīng)習慣了,我認為本指南將為您提供幫助。

TA貢獻1847條經(jīng)驗 獲得超7個贊
這是做到這一點的一種方法
from numpy import *
x=matrix([[1,2,3],[2,3,4]])
[mean(x[:,n]) for n in range(shape(x)[1])]
# [1.5, 2.5, 3.5]
添加回答
舉報