【发布时间】:2020-07-24 00:20:37
【问题描述】:
我正在处理一个包含价格列的大型数据集(超过 200 万行 x 10 列)。这些值的格式包括千点分隔符(例如 1.000),并且还使用点来分隔小数(例如 3.000.75 而不是 3000,75)。
我想将列格式化为浮点数,但值中的那两个点让我很头疼。
通常,为了简单起见,假设没有超过 1.000.000 的数字,我会做这样的事情
for i in range (0,len(df)):
cell=str(df.iloc[i]['price'])
if cell.count(".")==2:
cell=cell.split(".")[0] + cell.split(".")[1] + '.' + cell.split(".")[2]
然后是的,将列格式化为浮点数。
但我知道这远非最佳(for 循环)。
如何使用 pandas 的力量来避免这里出现for?
谢谢!
【问题讨论】:
标签: python pandas for-loop if-statement