2016-10-21 9 views
0

2次元配列(同じ形状)のリストを持ち、入力と同じ形状の結果配列にすべての用語の平均と偏差を得たいと考えています。これが可能かどうかを私は医者から理解することができない。 axisとkeepdimsのパラメータを使ったすべての試みは、さまざまな形の結果をもたらします。配列のすべての条件にわたってナンシー平均と標準偏差

例えば、xと等しい平均([x、x])、xのような形のstd([x、x])のゼロがあります。

アレイを再形成することなく可能ですか?そうでない場合は、どのように再形成するのですか?

例:

>> x= np.array([[1,2],[3,4]]) 
>>> y= np.array([[2,3],[4,5]]) 
>>> np.mean([x,y]) 
3.0 

私の代わりに[[1.5,2.5],[3.5,4.5]]をしたいです。

+2

サンプルケースを追加しますか? – Divakar

答えて

3

As Divikar points outは、np.meanに配列のリストを渡すことができ、リスト内の各アレイからの対応する値を超える平均化axis=0を指定します。これは、任意の長さのリストの

In [13]: np.mean([x,y], axis=0) 
Out[13]: 
array([[ 1.5, 2.5], 
     [ 3.5, 4.5]]) 

働きます。ほんの2つの配列の場合(x+y)/2.0 is faster

In [20]: %timeit (x+y)/2.0 
100000 loops, best of 3: 1.96 µs per loop 

In [21]: %timeit np.mean([x,y], axis=0) 
10000 loops, best of 3: 21.6 µs per loop 
+0

または単に 'np.mean([x、y]、axis = 0)'または 'np.std([x、y]、axis = 0)'もうまくいきます。 – Divakar

+0

ああ、 'np.asarray'がその入力で呼び出されているからです。 @Divakarの修正に感謝します。 – unutbu

+0

私はaxis = 0を試してみたが、私はそうは思わなかった。ありがとう!リストは実際には任意の長さですので、最初のものと一緒に行きます(スタックは私のnumpyバージョンでは利用できません)。 – Gnurfos

関連する問題