Я пытаюсь написать понимание списка, где, если значение является целым числом, оно умножится на 1 000 000, но если это не целое число, значение будет 'np.NaN'.
Вот мой код:
energy['Energy Supply'] = [n*1000000 if isinstance(n,int) == True else n == 'np.Nan' for n in energy['Energy Supply']]
Возвращен фрейм данных, показывающий столбец ['Энергоснабжение'] с False, где не было целого числа.
Затем я попытался написать другое понимание списка, чтобы решить проблему:
energy['Energy Supply'] = [n.replace(to_replace='False',value='np.Nan') for n in energy['Energy Supply']]
Я получил эту ошибку:
--------- -------------------------------------------------- ---------------- AttributeError Traceback (последний вызов был последним) в () 5 energy ['Energy Supply'] = [n.replace (to_replace = 'False', value = ' np.Nan ') для n в энергии [' Энергоснабжение ']] 6 возврат энергии ----> 7 answer_one ()
в answer_one () 3 energy.columns = [' Country ',' Energy Запас »,« Энергоснабжение на душу населения »,«% возобновляемой энергии »] 4 энергии [« Энергоснабжение »] = [n * 1000000, если isinstance (n, int) == True иначе n == str ('np.nan') для n в энергии ['Energy Supply']] ----> 5 энергии ['Energy Supply'] = [n.replace (to_replace = 'False', значение = 'np.Nan') для n в энергии [' Энергоснабжение ']] 6 возврат энергии 7 answer_one ()
in (.0) 3 energy.columns = [' Country ',' Энергоснабжение ',' Энергоснабжение на душу населения ','% возобновляемых источников энергии]] 4 энергии ['Энергоснабжение'] = [n * 1000000, если isinstance (n, int) == True иначе n == str ('np. nan ') для n в энергии [' Energy Supply ']] ----> 5 энергии [' Energy Supply '] = [n.replace (to_replace =' False ', значение =' np.Nan ') для n в energy ['Energy Supply']] 6 return energy 7 answer_one ()
AttributeError: у объекта 'bool' нет атрибута 'replace'
Заранее спасибо, сообщество переполнения стека.