1

私はMatlabを何年も使用した後、pythonを学習中です。問題が発生したため、Google 検索であまり役に立ちません。

基本的な配列を処理する最良の方法を知りたいです。numpy、scipy、array、numarray、またはその他を使用する必要がありますか?

たとえば、次の Matlab コードを使用します。

a = rand(10,1)
b = rand(10,1)


c = b > 0.5
d = a .* b
e = a + b
f = mean(a)
g = sum(b)

これをpythonに変換する最良の方法は何でしょうか?

4

1 に答える 1

3

数値の配列で計算を行う場合は、必ず NumPy を使用する必要があります。MATLAB ユーザー向けの移行ガイドもあります。

NumPy は、MATLAB が行うのと同じ配列ブロードキャストの多くを行うため、使用するのは非常に自然なはずです。コードは次のように記述できます。

import numpy as np
a = np.random.rand(10,1)
b = np.random.rand(10,1)
c = b > 0.5
d = a * b # Note that * in NumPy is always elementwise (use .dot for matrix multiplication)
e = a + b
f = a.mean() # Can also use np.mean(a)
g = b.sum() # Can also use np.sum(b)
于 2012-09-21T00:36:14.120 に答える