Cannot convert non-finite values,NA/INF替换
原因是原数据中含有nan或者inf,np.nan或者np.inf都是float的类型,而且无法转成int。尝试把nan或者inf替换成0,df.replace(np.nan, 0, inplace=True) df.replace(np.inf, 0, inplace=True)。举例:
importpandasaspdimportnumpyasnpdf=pd.DataFrame({'a':[1,np.inf,np.nan],'b':[2,3,np.inf]})df.replace(np.nan,0,inplace=True)df.replace(np.inf,0,inplace=True)df=df.astype(int)print(df.info())