重命名列中的值

时间:2015-08-31 12:29:42

标签: dataframe rename julia

如何重命名数据框中特定列中的所有值? 我认为这样的事情应该有效:

dfProducts[:StandardCost] = replace(dfProducts[:StandardCost], "£", convert(UTF8String,""))

但它没有。

  

replace没有匹配替换的方法(:: DataArray {UTF8String,1},   :: UTF8String,:: UTF8String)

通常,此列中的值的格式为“£0,000.00”,我正在考虑替换“£”和“,”并将它们转换为Float类型,因为我需要将它们与另一列相乘。

1 个答案:

答案 0 :(得分:1)

您可以使用map

dfProducts[:StandardCost] = map(x->replace(x, "£", convert(UTF8String,"")), dfProducts[:StandardCost])

编辑:如果你想在其他地方保持这种解决方法,你可以扩展该方法(即"可能提高可读性")

Base.replace(a::DataArray{UTF8String,1}, s::UTF8String, r::UTF8String) = map(x->replace(x, s, r),a)
#...
dfProducts[:StandardCost] = replace(dfProducts[:StandardCost], "£", convert(UTF8String,""))

请注意,这两种方法都不是最佳计算方式或连续内存分配方式,但我认为这超出了问题的范围

相关问题