1

私はこの非常に単純なコードで奇妙な振る舞いをしています

import numpy as np
[y, binEdges] = np.histogram(x, xout)

ここで、x と xout は numpy 配列です (xout は等間隔のビンの端を表します)。

私が行った場合

np.sum(y)

値は x (x.shape) の要素数と等しくありません。この値は x.shape よりもはるかに小さく、その理由がわかりません。np.histogram のバグですか?必要に応じて、x および xout numpy 配列をアップロードできますが、非常に長いです (x.shape は 19133 float64 で、xout.shape は 1360 float64 です)。上記のコードで何か間違ったことをしたかどうか教えてください。

4

2 に答える 2

1

xoutこれを使用して正しく計算します。nはビンの数です。

xout = np.linspace(floor(x.min()), ceil(x.max(), n)

次に、ヒストグラム関数を呼び出します。

[y, binEdges] = histogram(x, xout)
于 2013-07-09T20:37:40.827 に答える
1

これを試して:

y.sum() + (x < xout[0]).sum() + (x > xout[-1]).sum()
于 2013-07-09T20:11:14.967 に答える