統計や機械学習に関するプログラミングではPythonやRが用いられることが多いですが、近年Juliaも注目を集めています。そこで当シリーズではJuliaの基本構文からライブラリの用い方などについて取りまとめます。当記事ではJuliaの多次元配列の基本的な操作について取りまとめを行いました。
・Julia入門
https://www.hello-statisticians.com/julia
・Julia 1.8 Documentation
https://docs.julialang.org/en/v1/
多次元配列の基本操作
多次元配列の属性の取得
多次元配列の属性の取得にあたっては下記の関数などを用いることができます。
| 関数 | 概要 |
eltype(A) | Aの要素の型 |
length(A) | Aの要素数 |
ndims(A) | Aの次元の数 |
size(A) | Aのサイズ |
strides(A) | Aのストライド |
配列の変更・複製など
配列の複製などを行う際は下記の関数などを用います。
| 関数 | 概要 |
fill!(A, x) | 配列Aの値にxを割り当てる |
similar(A, T, dims...) | 配列Aと類似した配列を生成する |
reshape(A, dims...) | 配列Aのサイズを変更する |
copy(A) | 配列Aをコピーする |
deepcopy(A) | 配列Aをコピーし、要素も再帰的にコピーする |
関数の使用例
多次元配列の属性の取得
それぞれの関数は下記のように実行することができます。
A = zeros(Int64,2,3)
println(2)
println(eltype(A))
println(length(A))
println(ndims(A))
println(size(A))
println(strides(A))・実行結果
2
Int64
6
2
(2, 3)
(1, 2)配列の変更・複製など
それぞれの関数は下記のように実行することができます。
A = zeros(Int64,2,3)
println(A)
fill!(A,2)
println(A)
println(similar(A, Int8, 1, 6))
println(reshape(A, 1, 6))
X = copy(A)
println(X)
Y = deepcopy(A)
println(Y)・実行結果
[0 0 0; 0 0 0]
[2 2 2; 2 2 2]
Int8[48 -105 -116 11 1 0]
[2 2 2 2 2 2]
[2 2 2; 2 2 2]
[2 2 2; 2 2 2]参考
・Julia 1.8 Documentation
https://docs.julialang.org/en/v1/
