在 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)
我有一个 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)