2017-03-06 20 views
1

linspaceを配列にしたいと思います。ただ、次のように:これは私のコードであるnumpyでlinspaceをベクトル化するにはどうすればいいですか

b = [[0, 0.5, 1, 1.5, 2] 
    [0, 1, 2, 3, 4] 
    [0, 1.5, 3, 4.5, 6]] 

::とValueErrorは:で配列要素を設定する

import numpy as np 
a = np.arange(1001) 
c = np.vectorize(np.linspace)(0, a, 101) 
print(c) 

これは、ことを示して

a = np.array([2, 4, 6]) 
b = vectorize(np.array)(0, a, 5) 

を私は次のようになります背中に何かをしたいと思いますシーケンス。 forループなしでnumpyでこれを行う方法はありますか?

答えて

2

ビルドあなた自身:

def vlinspace(a, b, N, endpoint=True): 
    a, b = np.asanyarray(a), np.asanyarray(b) 
    return a[..., None] + (b-a)[..., None]/(N-endpoint) * np.arange(N) 
+0

感謝。なぜnp.aranyではなくnp.asanyarrayを使いましたか? – jiangniao

+0

@jiangniaoそれはコピーを強制せず、 'ndarray'サブクラスだけを残しているので、最も侵襲的ではありません。 –

関連する問題