2016-08-14 2 views
0

У меня есть сценарий python, который извлекает информацию EPS с сайта streetinsider.com. В настоящее время я очищаю данные, используя полностью неэффективный метод, как показано ниже. Интересно, может ли кто-нибудь показать, как это можно сделать более эффективно.Уборка данных более эффективно в Pandas

Следующий пример очень сильно уменьшен, есть еще много столбцов и много других строк.

eps_table = DataFrame({'% Beat': '+1,405%', '% Week': '+123%'}, index=[0]) 

things_to_remove = ['% Beat', '% Week'] 
for i in things_to_remove: 
    eps_table[i] = eps_table[i].replace("%", "",regex=True) 
    eps_table[i] = eps_table[i].replace("\+", "", regex=True) 
    eps_table[i] = eps_table[i].replace("\,", "", regex=True) 

Спасибо.

ответ

4

ли все это сразу:

eps_table.replace(r'[%+,]', '', regex=True) 
+0

О, да! Намного лучше +1 для вас. –

1

Это, вероятно, самый простой способ сделать это:

eps_table.replace('\+', '', regex=True).replace('%', '', regex=True).replace(',', '', regex=True) 

выход:

% Beat % Week 
0 1405 123 
Смежные вопросы