1. ホーム
  2. python

seabornエラーを解決する ValueError: ゼロサイズ配列からリダクションへ

2022-02-20 14:17:39
<パス

まず結論から言うと、責任は matplotlib にあり、そのバージョンを下げればいいだけです。

機械学習のプロットを完成させるためにseabornを使用すると、非常に奇妙なエラーが発生し、私が使用したコードは次のとおりです。

import seaborn as sns

sns.scatterplot(
    x='var1',
    y='var2',
    hue='var3',
    data=dataset,
)


上記のコードを実行し、データセットやデータロジックなどが正しいことを確認した後も、以下のようなエラーが報告されます。

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



ネット上の解決策をたくさん試したが、うまくいかなかった。seabornライブラリのバージョンを何度も入れ替えましたが、それもうまくいかず、最後に偶然、hueパラメータをコメントアウトするとうまくいくことがわかりました。というわけで、おそらく私のデータセットやロジック、seabornパッケージの問題ではなく、他の描画ライブラリと競合しているのだろうと推測しています。

sns.scatterplot(
    x='var1',
    y='var2',
# hue='var3',
    data=dataset,
)


案の定、私が matplotlib を 3.3.1 から 3.2.2 に差し替えました。 このコードではエラーが報告されなくなりました。seabornはmatplotlibで構築されているので、おそらく最新版のmatplotlibのバグでしょう。