亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未知的向量大小python

未知的向量大小python

慕的地6264312 2021-04-02 18:14:39
我有一個要在python中轉換的matlab代碼。我是python的新手,但我能夠回答很多谷歌搜索問題。但是現在,我試圖找出以下幾點:當我在每列上應用不同的內容時,我有一個for循環,但是您不知道列數。例如。在matlab中,沒有比這更容易的了:    for n = 1:size(x,2); y(n) = mean(x(:,n)); end但是我不知道例如在列數為1時如何在python上執行此操作,因為我無法在python中執行x [:,1]。任何的想法?
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

嘗試一下numpy。它是用C編寫的高性能數學庫的python綁定。我相信它具有矩陣切片運算的相同概念,并且比純python編寫的相同代碼(在大多數情況下)要快得多。


關于您的示例,我認為最接近的是使用numpy.mean。


在純python中,很難計算列的均值,但是您可以使用以下方法對矩陣進行轉置:


# there are no builtin avg function

def avg(lst):

    return sum(lst)/len(lst)


rows = list(avg(row) for row in a)


查看完整回答
反對 回復 2021-04-06
?
www說

TA貢獻1775條經驗 獲得超8個贊

是的,如果您使用numpy,則可以使用x [:,1],并且還可以獲得其他數據結構(向量而不是列表),matlab和numpy之間的主要區別是matlab使用矩陣進行計算,而numpy使用向量,但是您已經習慣了,我認為本指南將為您提供幫助。


查看完整回答
反對 回復 2021-04-06
?
aluckdog

TA貢獻1847條經驗 獲得超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]


查看完整回答
反對 回復 2021-04-06
  • 3 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號