2016-05-31 13 views
2

配列にnumpy.nanmean()を呼び出すと、floatとNaNの配列がありますが、結果としてNaNという結果が得られます。これはどのように可能ですか?numpy nanmeanのエラー

我々はnumpy.ndarrayのDTYPEを有する、上記のコメントに考え出したように、これは、アレイのサンプルages

[22.0 38.0 26.0 35.0 35.0 nan 54.0 2.0 27.0 14.0 4.0 58.0 20.0 39.0 14.0 
55.0 2.0 nan 31.0 nan 35.0 34.0 15.0 28.0 8.0 38.0 nan 19.0 nan nan 40.0 
nan nan 66.0 28.0 42.0 nan 21.0 18.0 14.0 40.0 27.0 nan 3.0 19.0 nan nan 
nan nan 18.0 7.0 21.0 49.0 29.0 65.0 nan 21.0 28.5 5.0 11.0 22.0 38.0 45.0 
... 

形状

(891,) 

np.nanmean(ages)戻るnan

+1

すべてが「NaN」なので、 – Divakar

+0

いいえ、それはポイントです – therealcode

+0

軸またはすべての要素に沿って 'numpy.nanmean()'を呼び出していますか? – Divakar

答えて

1

ありますあなたがフロートとだけを持っていると思われるとき、一次元のリストでは奇妙ですそこにがあります。これにより、空の行などを削除せずに、ファイルの内容から配列を手動で作成するなど、間違った方法でデータを生成していると思います。

これを解決するには、 dtype。それが動作する場合、あなたは永久にそのDTYPE

ages = ages.astype('float64') 

を変更する必要がありますし、私は何かがオフになっている99%確信しているとして、あなたの配列生成を再訪

np.nanmean(ages.astype('float64')) 

を試してみてください。