1. 程式人生 > >ValueError: Input contains NaN, infinity or a value too large for dtype('float64')

ValueError: Input contains NaN, infinity or a value too large for dtype('float64')

摘自 Joy-com
https://blog.csdn.net/u013764485/article/details/53012978

問題:pandas在處理資料時出現以下錯誤
ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64’).

解決方法:

1、檢查資料中是否有缺失值

例如,讀取得到的原始資料如下

讀取資料

train = pd.read_csv(’./data/train.csv/train.csv’)

檢查資料中是否有缺失值

np.isnan(train).any()

Flase:表示對應特徵的特徵值中無缺失值
True:表示有缺失值

2、刪除有缺失值的行
train.dropna(inplace=True)

然後在看資料中是否有缺失值

也可以根據需要對缺失值進行填充處理:
train.fillna(‘100’)

這下就不會出現錯誤了,當然這只是資料中存在缺失值的情況,其他情況還沒遇到過。