在 Pandas 中更有效地清理数据

Cleaning data more efficiently in Pandas

我有一个 python 脚本可以从 streetinsider.com 中提取 EPS 信息。目前我正在使用一种完全低效的方法清理数据,如下所示。想知道是否有人可以展示如何更有效地完成这项工作。

下面的例子非常非常缩小,有更多的列和更多的行。

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)

谢谢。

这可能是最简单的方法:

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

输出:

    % Beat % Week
0   1405    123

一次性搞定:

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