やあ、
最近、パンダはnull許容整数dtypeを導入しました。
https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html
numpyがそのような配列を自動的にfloat型に変換し、np.nanで埋めることを期待します。 ただし、何らかの理由でオブジェクトに変換します。
pd.DataFrame({'col': [1, np.nan, 3]}).astype('UInt8').values.dtype
これはこのようなエラーにつながります
np.nanmax(pd.DataFrame({'col': [1, np.nan, 3]}).astype('UInt8').values)
「TypeError:NAのブール値があいまいです」を返します
それは期待されていますか?
それは期待されていますか?
null許容整数はNumPy型ではないので、私はそう言うでしょう。
私は同意します、これは基本的に設計によるものであり、物事が期待どおりに機能していることを意味します。 NumPyがこれをいつか理解することは不可能ではありませんが、すぐに起こる可能性は低いです。
新しいUInt8
を使用することで、ある意味でNaN
実際にはNAと同じではなく、パンダにはこの区別をより明確にするためにpd.NA
があります。
@ Kreol64 pandas -dev / pandas#37460を開いて、パンダ側でこれについて話し合いました