Dataframe Julia数据帧中NA的正确测试方法

Dataframe Julia数据帧中NA的正确测试方法,dataframe,julia,Dataframe,Julia,在Julia DataFrames包中,测试DataFrame中的值是否为NA的正确方法是什么 到目前为止,我已经发现typeof(var)==NAtype是可行的,但是有没有更优雅的方法呢?使用typeof(var)==NAtype因为这很尴尬,特别是因为它没有矢量化 测试NA值的标准方法是使用名为isna的(矢量化)函数 例子 让我们用B列中的一些NA值生成一个玩具数据框: julia> using DataFrames julia> df = DataFrame(A = 1:

在Julia DataFrames包中,测试DataFrame中的值是否为NA的正确方法是什么

到目前为止,我已经发现
typeof(var)==NAtype
是可行的,但是有没有更优雅的方法呢?

使用
typeof(var)==NAtype
因为这很尴尬,特别是因为它没有矢量化

测试
NA
值的标准方法是使用名为
isna
的(矢量化)函数

例子 让我们用
B
列中的一些
NA
值生成一个玩具数据框:

julia> using DataFrames

julia> df = DataFrame(A = 1:10, B = 2:2:20)
10x2 DataFrame
| Row | A  | B  |
|-----|----|----|
| 1   | 1  | 2  |
| 2   | 2  | 4  |
| 3   | 3  | 6  |
| 4   | 4  | 8  |
| 5   | 5  | 10 |
| 6   | 6  | 12 |
| 7   | 7  | 14 |
| 8   | 8  | 16 |
| 9   | 9  | 18 |
| 10  | 10 | 20 |

julia> df[[1,4,8],symbol("B")] = NA
NA

julia> df
10x2 DataFrame
| Row | A  | B  |
|-----|----|----|
| 1   | 1  | NA |
| 2   | 2  | 4  |
| 3   | 3  | 6  |
| 4   | 4  | NA |
| 5   | 5  | 10 |
| 6   | 6  | 12 |
| 7   | 7  | 14 |
| 8   | 8  | NA |
| 9   | 9  | 18 |
| 10  | 10 | 20 |
现在,让我们假设我们不知道数据帧的内容,并提出以下问题:

B
是否包含
NA

typeof
方法不起作用,这里:

julia> typeof(df[:,symbol("B")]) == NAtype
false
isna
功能更合适:

julia> any(isna(df[:,symbol("B")]))
  true