Numpy: bins = "auto"の場合、サンプルのヒストグラム数は負です。

作成日 2019年08月27日  ·  4コメント  ·  ソース: numpy/numpy

データセットのヒストグラムを作成しようとしたときにNumber of samples, -20, must be non-negative.取得します。

コード例の再現:

import numpy as np

my_data = np.loadtxt("my_data.csv", delimiter=',', dtype=np.int16)

n_base, bins_base = np.histogram(my_data, bins="auto")

これがmy_data.csvです

エラーメッセージ:


サンプル数-20は、負でない必要があります。

Numpy / Pythonのバージョン情報:


1.16.4 3.7.4(デフォルト、2019年8月13日、20:35:49)
[GCC 7.3.0]

00 - Bug numpy.lib

最も参考になるコメント

バグレポートをありがとう。 このバグはmasterブランチにも存在することを確認できます。

numpyのは、開発者:問題は、内部機能があることである_hist_bin_sturgeshistograms.py方法に使用する、 ptpのアレイの最大値と最小値との差を計算するとdtype int16 。 この場合、最大値は32767、最小値は-16であるため、差は32783になります。ただし、 ptpは配列と同じ型の値を返すため、-32753を返し、結果として誤った計算。

x.ptp()x.max().item() - x.min().item()ようなものに置き換えることで、これを修正できます。

全てのコメント4件

興味深いことに、このデータセットをfloatに変換すると、問題なくヒストグラムが作成されます。

バグレポートをありがとう。 このバグはmasterブランチにも存在することを確認できます。

numpyのは、開発者:問題は、内部機能があることである_hist_bin_sturgeshistograms.py方法に使用する、 ptpのアレイの最大値と最小値との差を計算するとdtype int16 。 この場合、最大値は32767、最小値は-16であるため、差は32783になります。ただし、 ptpは配列と同じ型の値を返すため、-32753を返し、結果として誤った計算。

x.ptp()x.max().item() - x.min().item()ようなものに置き換えることで、これを修正できます。

他のほとんどのビン推定量は、 x.ptp()同じ問題を抱えています。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Kreol64 picture Kreol64  ·  3コメント

inducer picture inducer  ·  3コメント

Foadsf picture Foadsf  ·  3コメント

keithbriggs picture keithbriggs  ·  3コメント

perezpaya picture perezpaya  ·  4コメント