gpt4 book ai didi

dataframe - 在 Julia 中将数据帧值更改为 NaN

转载 作者:行者123 更新时间:2023-12-04 01:03:59 24 4
gpt4 key购买 nike

我有一个使用“..”而不是 NaN 的数据集,我目前正在尝试将这些字符串转换为 NaN。我尝试了以下方法:

for i in 1:length(final_df[:,1])
for j in 1:length(final_df[1,:])
if final_df[i,j] == ".."
final_df[i,j] = NaN
end
end
end
但是,我不断收到以下错误:MethodError:无法将 Float64 类型的对象“转换”为 String 类型的对象。
Here is a portion of the dataset for reference.
任何帮助表示赞赏,谢谢!

最佳答案

NaN 是未定义浮点运算的保留字,例如为 1/0,不应被滥用于其他目的。使用 missingnothing反而。
在您的示例中,您要分配的 DataFrame 列 NaN to 有 String 类型,但 NaN是 Float64。您应该将解析的数据放入一个新的 DataFrame 中,将数组的元素类型转换为 Float64(或 Any,在本例中删除 float. 在下面的解决方案中)。

using DataFrames
df = DataFrame(rand(["..", 5.5, -3.9], 5, 5))
df2 = DataFrame([float.(replace(c, (".." => NaN))) for c in eachcol(df)])
对于失踪:
df2 = DataFrame([float.(replace(c, (".." => missing))) for c in eachcol(df)])

关于dataframe - 在 Julia 中将数据帧值更改为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67118508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com