私は巨大なデータセットを持っており、そこから 2 つのデータポイントのセットを導き出し、それらをプロットして比較する必要があります。これらの 2 つのプロットは範囲が異なるため、 の範囲に収まるようにします[0,1]
。次のコードと特定のデータ セットでは、データセット プロットとして 1 で一定の線が得られますが、この正規化は他のセットでもうまく機能します。
plt.plot(range(len(rvalue)),np.array(rvalue)/(max(rvalue)))
およびこのコードの場合:
oldrange = max(rvalue) - min(rvalue) # NORMALIZING
newmin = 0
newrange = 1 + 0.9999999999 - newmin
normal = map(
lambda x, r=float(rvalue[-1] - rvalue[0]): ((x - rvalue[0]) / r)*1 - 0,
rvalue)
plt.plot(range(len(rvalue)), normal)
エラーが発生します:
ZeroDivisionError: float division by zero
すべてのデータセットに対して。比較のために両方のプロットを 1 つの範囲に収める方法がわかりません。