Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 将包含缺少值的DataFrame字符串列转换为Julia中的日期_Date_Dataframe_Julia_Missing Data - Fatal编程技术网

Date 将包含缺少值的DataFrame字符串列转换为Julia中的日期

Date 将包含缺少值的DataFrame字符串列转换为Julia中的日期,date,dataframe,julia,missing-data,Date,Dataframe,Julia,Missing Data,我试图在Julia中将DataFrame字符串列转换为日期格式,但如果该列包含缺少的值,则会产生错误: ERROR: MethodError: no method matching Int64(::Missing) 我尝试运行的代码(适用于没有丢失数据的列)是: 我尝试过的其他代码行包括: df_pp[:tod] = Date.(passmissing(df_pp[:tod]), DateFormat("d/m/y")); df_pp[.!ismissing.(df_pp[:tod]), :t

我试图在Julia中将DataFrame字符串列转换为日期格式,但如果该列包含缺少的值,则会产生错误:

ERROR: MethodError: no method matching Int64(::Missing)
我尝试运行的代码(适用于没有丢失数据的列)是:

我尝试过的其他代码行包括:

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"));

代码与名为
df_pp
的数据框中名为
tod
的列相关。在尝试此操作之前,已加载
数据帧
日期
包。

密码丢失方式为

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”)
中,我定义了一个新的匿名函数,它使用适当的
DateFormat
调用
Date
函数。 最后,我在
df_pp.tod
上立即使用
passmissing
返回的函数,使用
沿列广播。 如果将其拆分,则更容易看到语法:

myDate(x) = Date(x, DateFormat("d/m/y"))
Date_accepting_missing = passmissing(myDate)
df_pp[:tod] = Date_accepting_missing.(df_pp[:tod])

非常感谢。重写为:
df_pp[:tod]=passmissing(x->Date(x,DateFormat(“d/m/y”))(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])