1. ホーム
  2. python

[解決済み】空の配列に対するValueErrorを克服する

2022-01-28 07:21:02

質問

本論 Y軸の限界値をプロットする際の問題を修正しようとしたのですが、その際に twiny() は私のプロットを台無しにします。 私はこう考えました。

ax.set_ylim([y.min()-0.05, y.max()+0.05])

は良い解決策でした。そして、おそらくそれは、連続したデータのセットに対してのものでしょう。 その議論でも言ったように、とにかく私のデータはノイズが多く、時にはギャップもあります。だから、プロットされた範囲にはデータがないこともある。このような場合、当然ながら .min() がエラーを発生させます。

ValueError: zero-size array to reduction operation minimum which has no identity

というのは、配列が空だからです。これを回避して、Y軸に制限をかけないようにするにはどうしたらよいでしょうか。(空の配列が引き起こす問題はこれだけであることを期待しています。)

解決方法は?

例外をキャッチして無視すればよい。

try:
    ax.set_ylim([y.min()-0.05, y.max()+0.05])
except ValueError:  #raised if `y` is empty.
    pass