Dataframe 无法广播isna。对于DataArray.DataArray{String}

Dataframe 无法广播isna。对于DataArray.DataArray{String},dataframe,julia,Dataframe,Julia,是否有方法修复/允许DataArray.DataArray{String}的isna广播?尝试执行此操作时,我遇到以下错误: julia> using DataFrames julia> a=@data(["1776", "1895", " 0", " 1774", NA ]) 5-element DataArrays.DataArray{String,1}: "1776" "1895" " 0" " 1774" NA juli

是否有方法修复/允许DataArray.DataArray{String}的isna广播?尝试执行此操作时,我遇到以下错误:

julia> using DataFrames
julia> a=@data(["1776",   "1895",   " 0",   " 1774",    NA    ])
5-element DataArrays.DataArray{String,1}:
 "1776" 
 "1895" 
 " 0"   
 " 1774"
 NA     

julia> isna.(a)
ERROR: MethodError: Cannot `convert` an object of type Bool to an object of type String
This may have arisen from a call to the constructor String(...),
since type constructors fall back to convert methods.
 in macro expansion at /home/ngphuoc/.julia/v0.5/DataArrays/src/broadcast.jl:60 [inlined]
 in macro expansion at ./cartesian.jl:64 [inlined]
 in (::DataArrays.#_F_#203)(::DataArrays.DataArray{String,1}, ::DataArrays.DataArray{String,1}) at /home/ngphuoc/.julia/v0.5/DataArrays/src/broadcast.jl:130
 in broadcast!(::Function, ::DataArrays.DataArray{String,1}, ::DataArrays.DataArray{String,1}) at /home/ngphuoc/.julia/v0.5/DataArrays/src/broadcast.jl:229
 in databroadcast(::Function, ::DataArrays.DataArray{String,1}, ::Vararg{DataArrays.DataArray{String,1},N}) at /home/ngphuoc/.julia/v0.5/DataArrays/src/broadcast.jl:235
 in broadcast(::Function, ::DataArrays.DataArray{String,1}) at /home/ngphuoc/.julia/v0.5/DataArrays/src/broadcast.jl:296
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:64
 in macro expansion at ./REPL.jl:95 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at ./event.jl:68

在0.5上,DataArrays错误地假设
广播的结果元素类型将只遵循提升规则。此错误已在0.6中修复。更新将是你最好的行动方案

当然,在0.5上,仍然存在旧的向量化
isna
方法;如果你现在必须呆在那里,那可能是你最好的选择。此后,它被弃用,取而代之的是0.6上的
isna.(a)
广播

julia> isna(a)
5-element BitArray{1}:
 false
 false
 false
 false
  true
该代码在我的系统(julia 0.6)上运行-您使用的是哪个julia版本?