Форум сайта python.su
0
Здравствуйте!
Как удалить из массива pandas значения ‘nan’?
Пробую так, не срабатывает:
dataset_xl_O =pd.read_excel('E:/Gidrolodge_.xlsx', sheet_name='O') dataset_xl_Or =pd.read_excel('E:/Gidrolodge_.xlsx', sheet_name='Or') dataset_xl_I =pd.read_excel('E:/Gidrolodge_.xlsx', sheet_name='I') dataset_xl = pd.concat([dataset_xl_O, dataset_xl_Or, dataset_xl_I]) X_ = dataset_xl[['L', 'C', 'D']].values X=pd.DataFrame(X_) X.fillna(0)
Отредактировано Volodya (Март 9, 2020 18:54:28)
Офлайн
7
От нан можно избавиться несколькими способами, удалить строку/столбец с нан или обычно заменить нан на нуль(или еще что-то).
df.fillna(0) # на 0
Офлайн
0
VladimirvДа через неё и сделал:
Удаляют с помощью .drop(), ищут что удалять например через .isna().
def Not_Nane_str(dataset): mask = dataset.isna() for i in range(0,len(dataset)): for j in range(0,len(dataset.iloc[i])): if (mask.iat[i, j]) == True: dataset.iat[i, j]=float(0) elif dataset.iat[i, j]=='-': dataset.iat[i, j]=0 else: dataset.iat[i, j]=float(str(dataset.iat[i, j]).replace(',','.').replace(' ','')) return dataset
Офлайн