аватар question@mail.ru · 01.01.1970 03:00

Python Pandas. Заменить в столбце одни значения на другие

Задача следующая есть столбец BasePay1 в нём указанны числа, но и встречаются следующие значения: Not Provided . Так вот, мне необходимо данный признак преобразовать в тип float64.
Я делаю следующее: df['BasePay'].astype('float64')
И мне выходит ошибка: could not convert string to float: 'Not Provided'
По понятным вполн�� причинам) Тип признака BasePay object
Вопрос как мне в признаке BasePay значения которые равны Not provided заменить например на 0.00 ? Это основной вопрос) Я и функции пытался писать, ничего не помогает. Понимаю что задача вполне лёгкая, но топчусь уже на одном мести часа 3.

аватар answer@mail.ru · 01.01.1970 03:00

Попробуйте с помощью метода заменить 'Not Provided' на NaN, например.

In [1]: import pandas as pdIn [3]: import numpy as npIn [5]: df = pd.DataFrame([[0.1, 5.0, 'Not Provided'], ['Not Provided', 0.2, 3.3]])In [6]: dfOut[6]:               0    1             20           0.1  5.0  Not Provided1  Not Provided  0.2           3.3In [7]: df.dtypesOut[7]: 0     object1    float642     objectdtype: objectIn [8]: result = df.replace('Not Provided', np.nan)In [9]: resultOut[9]:      0    1    20  0.1  5.0  NaN1  NaN  0.2  3.3In [10]: result.dtypesOut[10]: 0    float641    float642    float64dtype: object

Последние

Похожие