gpt4 book ai didi

date - 将包含缺失值的 DataFrame String 列转换为 Julia 中的日期

转载 作者:行者123 更新时间:2023-12-03 23:51:45 25 4
gpt4 key购买 nike

我试图在 Julia 中将 DataFrame String 列转换为 Date 格式,但如果该列包含缺失值,则会产生错误:

ERROR: MethodError: no method matching Int64(::Missing)

我尝试运行的代码(适用于没有丢失数据的列)是:
df_pp[:tod] = Date.(df_pp[:tod], DateFormat("d/m/y"));

我尝试过的其他代码行是:
df_pp[:tod] = Date.(passmissing(df_pp[:tod]), DateFormat("d/m/y"));
df_pp[.!ismissing.(df_pp[:tod]), :tod] = Date.(df_pp[:tod], DateFormat("d/m/y"));

该代码与名为 tod 的列有关。在名为 df_pp 的数据框中.两者 DataFrames & Dates在尝试此操作之前已加载包。

最佳答案

passmissing方式是

df_pp.tod = passmissing(x->Date(x, DateFormat("d/m/y"))).(df_pp.tod)

这里发生的事情是这样的: passmissing接受一个函数,并返回一个处理 missing 的新函数s(通过返回 missing )。在支架内,在 x->Date(x, DateFormat("d/m/y"))我定义了一个新的匿名函数,它调用 Date使用适当的函数 DateFormat .
最后,我使用了 passmissing 返回的函数立即在 df_pp.tod ,使用 .沿列广播。
如果我将其拆分,则更容易查看语法:
myDate(x) = Date(x, DateFormat("d/m/y"))
Date_accepting_missing = passmissing(myDate)
df_pp[:tod] = Date_accepting_missing.(df_pp[:tod])

关于date - 将包含缺失值的 DataFrame String 列转换为 Julia 中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56557719/

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