python pandas dropna ValueError: Cannot convert non-finite values (NA or inf) to integer

对于一个大的dataframe,用df.dropna()似乎会报错:

ValueError: Cannot convert non-finite values (NA or inf) to integer

这样的结果在下面两个网站中提到:
https://stackoverflow.com/questions/60748411/dropna-results-in-valueerror-cannot-convert-non-finite-values-na-or-inf-to-in

https://stackoverflow.com/questions/58949106/pandas-dropna-throwing-valueerror-cannot-convert-non-finite-values-na-or-inf

原因比较复杂,似乎是dropna这个接口自身的bug
有如下处理方式:

dn = pd.isnull(df)
dx = dn[:30000000].sum(axis=1).append(dn[30000000:].sum(axis=1))
dx = (dx == 0)
df = df[dx]

其中,30000000这个数字可以自己调整。

你可能感兴趣的:(大数据,bug)