2017-01-01 3 views
1

У меня есть эта таблица данных Energy table, имеющая некоторые значения столбца подачи энергии как «...», без фиксированного числа этого символа. Все значения являются числовыми. Я хочу заменить этих персонажей. Вот что я использовал:Как заменить символ «...» на определенные значения столбцов в фрейме данных. Количество '.' не фиксировано.

vn['Energy Supply'].astype(str) 
for x in vn['Energy Supply']: 
    if x.startswith('.'): 
      x.replace(0, inplace= True) 

«.astype» также не меняет DTYPE на ул

+1

Вы должны назначить его обратно в колонну. 'vn ['Energy Supply'] = vn ['Energy Supply']. astype (str)'. 'astype' не изменяет данные на месте, а возвращает новую серию. – Psidom

ответ

4

Поскольку вы используете startswith кажется, что вы ищете что-то вроде этого:

vn['Energy Supply']=vn['Energy Supply'].astype(str) 
vn['Energy Supply'].replace(r'^\.+',value=0,inplace=True,regex=True) 

Использование для циклов для dataframes, однако, является плохой идеей.

0

Вы можете использовать pd.to_numeric

vn['Energy Supply'] = pd.to_numeric(vn['Energy Supply'], 'coerce').fillna(0) 
Смежные вопросы