替换点和逗号

时间:2019-07-12 15:32:36

标签: python excel

我正在处理的数据集(4k人)的身高输入为1.70、170和1,70。如何使它们均匀,以便可以计算出体重指数。

1 个答案:

答案 0 :(得分:0)

数据清理是一门艺术。

当然要怎么做,取决于数据的格式。

如果您已经在Python中拥有数据,则说一条记录(或您可以迭代的任何记录数组),并且每条记录要么是字段的数组,要么是字段的dict,然后选择要修复的字段,并进行修复,然后将数据写回原来的格式。

我从您的示例中猜测,您想将“ 1.70”设置为米,将“ 170”设置为厘米,将“ 1,7”作为拼写,您将设置为1.7米。

我还假设您希望将它们统一为米(您也可以使用任何其他单位或路线)。

假设您在名为“ h”的变量中获得了“高度”字段。大概是字符串,否则您不能使用“ 1.7”。您可以这样做:

h = re.sub(",", '.', h)  # You could do other fixes, too.
h = float(h)
if (h > 100): h = h/100.0  # Very few people are over 100m tall...

当然,如果这些是建筑物的高度而不是人的身高,则可能需要调整...

如果您非常关心数据,那么非常重要的一步就是用自己的眼睛进行扫描,以查找其他异常。几乎总是有比您期望的更多的东西。生成每个字段的所有唯一值的列表以及每个字段出现的频率是快速执行此操作的一种好方法,因为错误通常会指向列表的低频端。