
ุฌูููุง ูู ูุงุญุฏุฉ ู
ู ุฃุญุฏุซ ูุบุงุช ุงูุจุฑู
ุฌุฉ ุงูุฑูุงุถูุฉ ุ ุชุฏุนู ุฃููุง ูุบุฉ ุงูุจุฑู
ุฌุฉ ุงูุฑุฆูุณูุฉ ูู ูุฐุง ุงูู
ุฌุงู. ูุณูุก ุงูุญุธ ุ ูุง ููุฌุฏ ูู ุงูููุช ุงูุญุงูู ู
ุง ูููู ู
ู ุงูุฃุฏุจ ุจุงููุบุฉ ุงูุฑูุณูุฉ ุ ูุชุญุชูู ุงูู
ูุงุฏ ุงูู
ุชุงุญุฉ ุจุงููุบุฉ ุงูุฅูุฌููุฒูุฉ ุนูู ู
ุนููู
ุงุช ูุง ุชุชูุงูู ุฏุงุฆู
ูุง ู
ุน ุงูุฅุตุฏุงุฑ ุงูุญุงูู ุ ุจุณุจุจ ุงูุชุทูุฑ ุงูุฏููุงู
ููู ูุฌูููุง ุ ูููู ูุฐุง ููุณ ูุงุถุญูุง ูู
ุจุฑู
ุฌู ุฌูููุง ุงูู
ุจุชุฏุฆูู. ุณูุญุงูู ุณุฏ ุงูุซุบุฑุงุช ูููู ุฃููุงุฑ ุฌูููุง ูููุฑุงุก ูู ุดูู ุฃู
ุซูุฉ ุจุณูุทุฉ.
ุงูุบุฑุถ ู
ู ูุฐู ุงูู
ูุงูุฉ ูู ุฅุนุทุงุก ุงููุฑุงุก ููุฑุฉ ุนู ุงูุทุฑู ุงูุฃุณุงุณูุฉ ููุนู
ู ู
ุน ุงูุฌุฏุงูู ูู ูุบุฉ ุจุฑู
ุฌุฉ ุฌูููุง ูุชุดุฌูุนูู
ุนูู ุงูุจุฏุก ูู ุงุณุชุฎุฏุงู
ูุบุฉ ุงูุจุฑู
ุฌุฉ ูุฐู ูู
ุนุงูุฌุฉ ุงูุจูุงูุงุช ุงูุญููููุฉ. ููุชุฑุถ ุฃู ุงููุงุฑุฆ ุนูู ุฏุฑุงูุฉ ุจูุบุงุช ุงูุจุฑู
ุฌุฉ ุงูุฃุฎุฑู ุ ูุฐูู ูู ูุนุทู ุณูู ุงูุญุฏ ุงูุฃุฏูู ู
ู ุงูู
ุนููู
ุงุช ุญูู ููููุฉ ุงูููุงู
ุจุฐูู ุ ููููุง ูู ูุฏุฎู ูู ุชูุงุตูู ุทุฑู ู
ุนุงูุฌุฉ ุงูุจูุงูุงุช.
ุจุงูุทุจุน ุ ูุงุญุฏุฉ ู
ู ุฃูู
ุงูู
ุฑุงุญู ูู ุนู
ู ุจุฑูุงู
ุฌ ูููู
ุจุชุญููู ุงูุจูุงูุงุช ูู ุงุณุชูุฑุงุฏูุง ูุชุตุฏูุฑูุง. ุนูุงูุฉ ุนูู ุฐูู ุ ูุฅู ุชูุณูู ุนุฑุถ ุงูุจูุงูุงุช ุงูุฃูุซุฑ ุดููุนูุง ูู ุฌุฏูู. ููุงู ู
ูุชุจุงุช ูุฌูููุง ุชููุฑ ุงููุตูู ุฅูู DBMS ุงูุนูุงุฆููุฉ ุ ูุชุณุชุฎุฏู
ุชูุณููุงุช ุงูุชุจุงุฏู ู
ุซู HDF5 ุ MATLAB ุ JLD. ูููู ูู ูุฐู ุงูุญุงูุฉ ุ ุณูููู ู
ูุชู
ูู ููุท ุจุชูุณูู ุงููุต ูุชู
ุซูู ุงูุฌุฏุงูู ุ ู
ุซู CSV.
ูุจู ุงููุธุฑ ูู ุงูุฌุฏุงูู ุ ุชุญุชุงุฌ ุฅูู ุชูุฏูู
ู
ูุฏู
ุฉ ุตุบูุฑุฉ ูุนุฑุถ ูููู ุงูุจูุงูุงุช ูุฐุง. ุจุงููุณุจุฉ ุฅูู ุฌูููุง ุ ูู
ูู ุชู
ุซูู ุงูุฌุฏูู ูู
ุตูููุฉ ุซูุงุฆูุฉ ุงูุฃุจุนุงุฏ ุฃู ูุฅุทุงุฑ DataFrame.
ุงูู
ุตูููุงุช
ููุจุฏุฃ ุจุงูุตูุงุฆู ูู ุฌูููุง. ูุจุฏุฃ ุชุฑููู
ุงูุนูุงุตุฑ ุจุฑูู
ูุงุญุฏ. ูุฐุง ุฃู
ุฑ ุทุจูุนู ุชู
ุงู
ูุง ููุฑูุงุถููู ุ ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ูุชู
ุงุณุชุฎุฏุงู
ููุณ ุงูู
ุฎุทุท ูู ููุฑุชุฑุงู ุ ุจุงุณูุงู ุ ู
ุงุชูุงุจ. ุจุงููุณุจุฉ ููู
ุจุฑู
ุฌูู ุงูุฐูู ูู
ูุณุชุฎุฏู
ูุง ูุฐู ุงููุบุงุช ู
ุทูููุง ุ ูุฏ ูุจุฏู ูุฐุง ุงูุชุฑููู
ุบูุฑ ู
ุฑูุญ ููุณุจุจ ุฃุฎุทุงุก ุนูุฏ ูุชุงุจุฉ ุดุฑูุท ุงูุญุฏูุฏ ุ ูููู ูู ุงููุงูุน ุ ูุฐู ู
ุฌุฑุฏ ู
ุณุฃูุฉ ุงุนุชูุงุฏูุฉ. ุจุนุฏ ุฃุณุจูุนูู ู
ู ุงุณุชุฎุฏุงู
ุฌูููุง ุ ูู
ูุนุฏ ููุทุฑุญ ุณุคุงู ุงูุชุจุฏูู ุจูู ุงููู
ุงุฐุฌ ุงููุบููุฉ.
ุงูููุทุฉ ุงูุซุงููุฉ ุงูู
ูู
ุฉ ูู ูุฐู ุงููุบุฉ ูู ุงูุชู
ุซูู ุงูุฏุงุฎูู ููู
ุตูููุงุช. ุจุงููุณุจุฉ ุฅูู ุฌูููุง ุ ูุฅู ุงูุตููู ุงูุฎุทู ูู ุนู
ูุฏ. ูู ููุณ ุงูููุช ุ ุจุงููุณุจุฉ ููุบุงุช ู
ุซู C ุ Java ุ ูุฅู ุงูุตููู ุฃุญุงุฏู ุงูุจุนุฏ ูู ุณูุณูุฉ.
ููุถุญ ุฐูู ุจู
ุตูููุฉ ุชู
ุฅูุดุงุคูุง ูู ุณุทุฑ ุงูุฃูุงู
ุฑ (REPL)
julia> a = [1, 2, 3] 3-element Array{Int64,1}: 1 2 3
ุงูุชุจู ุฅูู ููุน ุงูุตููู - Array {Int64ุ1}. ุงูุตููู ุฃุญุงุฏู ุงูุจุนุฏ ุ ุงูุชุจ Int64. ุนูุงูุฉ ุนูู ุฐูู ุ ุฅุฐุง ุฃุฑุฏูุง ุฏู
ุฌ ูุฐุง ุงูุตููู ู
ุน ุตููู ุขุฎุฑ ุ ูุนูุฏู
ุง ูุชุนุงู
ู ู
ุน ุนู
ูุฏ ุ ูุฌุจ ุฃู ูุณุชุฎุฏู
ูุธููุฉ vcat (ุฃู ุณูุณูุฉ ู
ุชุณูุณูุฉ ุฑุฃุณูุฉ). ูุงููุชูุฌุฉ ุนู
ูุฏ ุฌุฏูุฏ.
julia> b = vcat(a, [5, 6, 7]) 7-element Array{Int64,1}: 1 2 3 5 6 7
ุฅุฐุง ุฃูุดุฃูุง ุตููููุง ูุณูุณูุฉ ุ ูุนูุฏ ูุชุงุจุฉ ุญุฑู ุญุฑูู ุ ูุณุชุฎุฏู
ุงูู
ุณุงูุงุช ุจุฏูุงู ู
ู ุงูููุงุตู ููุญุตู ุนูู ุตููู ุซูุงุฆู ุงูุฃุจุนุงุฏ ู
ู ุงูููุน Array {Int64ุ2}. ุงููุณูุทุฉ ุงูุซุงููุฉ ูู ุฅุนูุงู ุงูููุน ุชุนูู ุนุฏุฏ ุฅุญุฏุงุซูุงุช ุงูุตููู ู
ุชุนุฏุฏ ุงูุฃุจุนุงุฏ.
julia> c = [1 2 3] 1ร3 Array{Int64,2}: 1 2 3
ุฃู ุ ุญุตููุง ุนูู ู
ุตูููุฉ ู
ู ุตู ูุงุญุฏ ูุซูุงุซุฉ ุฃุนู
ุฏุฉ.
ูุฐุง ุงูุนุฑุถ ููุตููู ูุงูุฃุนู
ุฏุฉ ูู ุฃูุถูุง ุณู
ุฉ ู
ู
ูุฒุฉ ูู Fortran ู Matlab ุ ูููู ูุฌุจ ุฃู ูุชุฐูุฑ ููุท ุฃู ุฌูููุง ูู ูุบุฉ ู
ูุฌูุฉ ุจุดูู ุฎุงุต ุฅูู ู
ุฌุงู ุชุทุจูููุง.
ู
ุตูููุฉ ุฌูููุง ุนุจุงุฑุฉ ุนู ุตููู ุซูุงุฆู ุงูุฃุจุนุงุฏ ุ ุญูุซ ุชููู ุฌู
ูุน ุงูุฎูุงูุง ู
ู ููุณ ุงูููุน. ุฏุนูุง ููุชุจู ุฅูู ุญูููุฉ ุฃู ุงูููุน ูู
ูู ุฃู ูููู ู
ุฌุฑูุฏูุง ุฃู ุฃู ู
ุญุฏุฏูุง ุชู
ุงู
ูุง ุ ู
ุซู Int64 ุฃู Float64 ุฃู ุญุชู String.
ูู
ูููุง ุฅูุดุงุก ู
ุตูููุฉ ูู ุดูู ุญุฑูู:
julia> a = [1 2; 3 4] 2ร2 Array{Int64,2}: 1 2 3 4
ุฅูุดุงุก ุจุงุณุชุฎุฏุงู
ุงูู
ูุดุฆ ูุชุฎุตูุต ุงูุฐุงูุฑุฉ ุฏูู ุงูุชููุฆุฉ (undef):
julia> a = Array{Int64,2}(undef, 2, 3) 2ร3 Array{Int64,2}: 4783881648 4783881712 4782818640 4783881680 4783881744 4782818576
ุฃู ู
ุน ุงูุชููุฆุฉ ุฅุฐุง ุชู
ุชุญุฏูุฏ ุฃู ููู
ุฉ ู
ุญุฏุฏุฉ ุจุฏูุงู ู
ู undef.
ุงูุบุฑุงุก ู
ู ุฃุนู
ุฏุฉ ู
ููุตูุฉ:
julia> a = [1, 2, 3] 3-element Array{Int64,1}: 1 2 3 julia> b = hcat(a, a, a, a) 3ร4 Array{Int64,2}: 1 1 1 1 2 2 2 2 3 3 3 3
ุงูุชููุฆุฉ ุจุดูู ุนุดูุงุฆู:
julia> x = rand(1:10, 2, 3) 2ร3 Array{Int64,2}: 1 10 2 9 7 7
ูุณูุทุงุช ุฑุงูุฏ - ุชุชุฑุงูุญ ู
ู 1 ุฅูู 10 ูุงูุฃุจุนุงุฏ 2 ร 3.
ุฃู ุงุณุชุฎุฏู
ุงูุดู
ูู (ุงูููู
)
julia> x = [min(i, j) for i = 0:2, j = 0:2 ] 3ร3 Array{Int64,2}: 0 0 0 0 1 1 0 1 2
ูุงุญุธ ุฃู ุญูููุฉ ุฃู ุฃุนู
ุฏุฉ ุฌูููุง ุนุจุงุฑุฉ ุนู ูุชูุฉ ุฎุทูุฉ ู
ู ุงูุฐุงูุฑุฉ ุชุคุฏู ุฅูู ุญูููุฉ ุฃู ุงูุชูุฑุงุฑ ููู ุงูุนูุงุตุฑ ุญุณุจ ุงูุนู
ูุฏ ุณูููู ุฃุณุฑุน ุจูุซูุฑ ู
ู ุงููุฑุฒ ุนุจุฑ ุงูุตููู. ุนูู ูุฌู ุงูุฎุตูุต ุ ูุณุชุฎุฏู
ุงูู
ุซุงู ุงูุชุงูู ู
ุตูููุฉ ู
ู 1_000_000 ุตู ู 100 ุนู
ูุฏ.
#!/usr/bin/env julia using BenchmarkTools x = rand(1:1000, 1_000_000, 100) #x = rand(1_000_000, 100) function sumbycolumns(x) sum = 0 rows, cols = size(x) for j = 1:cols, i = 1:rows sum += x[i, j] end return sum end @show @btime sumbycolumns(x) function sumbyrows(x) sum = 0 rows, cols = size(x) for i = 1:rows, j = 1:cols sum += x[i, j] end return sum end @show @btime sumbyrows(x)
ุงููุชุงุฆุฌ:
74.378 ms (1 allocation: 16 bytes) =# @btime(sumbycolumns(x)) = 50053093495 206.346 ms (1 allocation: 16 bytes) =# @btime(sumbyrows(x)) = 50053093495
btime ูู ุงูู
ุซุงู ุนุจุงุฑุฉ ุนู ุชุดุบูู ู
ุชุนุฏุฏ ููุฏุงูุฉ ูุญุณุงุจ ู
ุชูุณุท โโุงูููุช ุงูุฐู ูุณุชุบุฑูู ุงูุชูููุฐ. ูุชู
ุชูููุฑ ูุฐุง ุงูู
ุงูุฑู ู
ู ูุจู ู
ูุชุจุฉ BenchmarkTools.jl. ุชุญุชูู ู
ุฌู
ูุนุฉ ุฌูููุง ุงูุฃุณุงุณูุฉ ุนูู ู
ุงูุฑู ุฒู
ูู ุ ููููุง ุชููุณ ูุงุตู ุฒู
ูู ูุงุญุฏ ุ ูู ูุฐู ุงูุญุงูุฉ ุ ุณูููู ุบูุฑ ุฏููู. ูุนุฑุถ ุงูู
ุงูุฑู show ุงูุชุนุจูุฑ ูููู
ุชู ุงูู
ุญุณูุจุฉ ูู ูุญุฏุฉ ุงูุชุญูู
.
ูุนุฏ ุชุญุณูู ุชุฎุฒูู ุงูุนู
ูุฏ ู
ูุงุณุจูุง ูุฅุฌุฑุงุก ุงูุนู
ููุงุช ุงูุฅุญุตุงุฆูุฉ ุจุงุณุชุฎุฏุงู
ุฌุฏูู. ูุธุฑูุง ูุฃูู ุชูููุฏููุง ุ ูููู ุงูุฌุฏูู ู
ุญุฏูุฏูุง ุจุนุฏุฏ ุงูุฃุนู
ุฏุฉ ุ ููู
ูู ุฃู ูููู ุนุฏุฏ ุงูุตููู ุฃููุง ุ ูุชู
ุชูููุฐ ู
ุนุธู
ุงูุนู
ููุงุช ุ ู
ุซู ุญุณุงุจ ุงูู
ุชูุณุท โโุ ูุงูุญุฏ ุงูุฃุฏูู ุ ูุงูููู
ุงููุตูู ุ ุนูู ูุฌู ุงูุชุญุฏูุฏ ูุฃุนู
ุฏุฉ ุงูู
ุตูููุงุช ุ ูููุณ ูุตููููุง.
ู
ุฑุงุฏู ูุตููู ุซูุงุฆู ุงูุฃุจุนุงุฏ ูู ููุน ุงูู
ุตูููุฉ. ูู
ุน ุฐูู ุ ูุฐุง ูู ุฃุณููุจ ุงูุฑุงุญุฉ ุจุฏูุงู ู
ู ุงูุถุฑูุฑุฉ.
ูุชู
ุงููุตูู ุฅูู ุนูุงุตุฑ ุงูู
ุตูููุฉ ุนู ุทุฑูู ุงูููุฑุณ. ุนูู ุณุจูู ุงูู
ุซุงู ุ ูู
ุตูููุฉ ุชู
ุฅูุดุงุคูุง ู
ุณุจููุง
julia> x = rand(1:10, 2, 3) 2ร3 Array{Int64,2}: 1 10 2 9 7 7
ูู
ูููุง ุงูุญุตูู ุนูู ุนูุตุฑ ู
ุนูู ู
ุซู x [1ุ 2] => 10. ูุฐุง ุงุญุตู ุนูู ุงูุนู
ูุฏ ุจุฃูู
ูู ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ุงูุนู
ูุฏ ุงูุซุงูู:
julia> x[:, 2] 2-element Array{Int64,1}: 10 7
ุฃู ุงูุณุทุฑ ุงูุซุงูู:
julia> x[2, :] 3-element Array{Int64,1}: 9 7 7
ููุงู ุฃูุถูุง ูุธููุฉ selectdim ู
ููุฏุฉ ุ ุญูุซ ูู
ููู ุชุญุฏูุฏ ุงูุนุฏุฏ ุงูุชุฑุชูุจู ููุจุนุฏ ุงูุฐู ุชุฑูุฏ ุชุญุฏูุฏู ุ ุจุงูุฅุถุงูุฉ ุฅูู ู
ุคุดุฑุงุช ุนูุงุตุฑ ูุฐุง ุงูุจุนุฏ. ุนูู ุณุจูู ุงูู
ุซุงู ุ ูู
ุจุนู
ู ุนููุงุช ูู ุงูุจุนุฏ ุงูุซุงูู (ุงูุฃุนู
ุฏุฉ) ุนู ุทุฑูู ุชุญุฏูุฏ ุงูููุฑุณ ุงูุฃูู ูุงูุซุงูุซ. ูุนุฏ ูุฐุง ุงูููุฌ ู
ูุงุณุจูุง ุนูุฏู
ุง ุชุญุชุงุฌ ุ ููููุง ููุธุฑูู ุ ุฅูู ุงูุชุจุฏูู ุจูู ุงูุตููู ูุงูุฃุนู
ุฏุฉ. ูู
ุน ุฐูู ุ ูุฐุง ุตุญูุญ ุจุงููุณุจุฉ ููุญุงูุฉ ู
ุชุนุฏุฏุฉ ุงูุฃุจุนุงุฏ ุ ุนูุฏู
ุง ูููู ุนุฏุฏ ุงูุฃุจุนุงุฏ ุฃูุซุฑ ู
ู 2.
julia> selectdim(x, 2, [1, 3]) 2ร2 view(::Array{Int64,2}, :, [1, 3]) with eltype Int64: 1 2 9 7
ูุธุงุฆู ููู
ุนุงูุฌุฉ ุงูุฅุญุตุงุฆูุฉ ููู
ุตูููุงุช
ุงูู
ุฒูุฏ ุนู ุงูู
ุตูููุงุช ุฃุญุงุฏูุฉ ุงูุจุนุฏ
ุตูุงุฆู ู
ุชุนุฏุฏุฉ ุงูุฃุจุนุงุฏ
ูุธุงุฆู ุงูุฌุจุฑ ุงูุฎุทู ูุงูู
ุตูููุงุช ุฐุงุช ุงูุดูู ุงูุฎุงุต
ูู
ูู ูุฑุงุกุฉ ุฌุฏูู ู
ู ู
ูู ุจุงุณุชุฎุฏุงู
ูุธููุฉ readdlm ุงูุชู ุชู
ุชูููุฐูุง ูู ู
ูุชุจุฉ DelimitedFiles. ุงูุชุณุฌูู - ุจุงุณุชุฎุฏุงู
writedlm. ุชููุฑ ูุฐู ุงููุธุงุฆู ุงูุนู
ู ู
ุน ุงูู
ููุงุช ุฐุงุช ุงูู
ุญุฏุฏุงุช ุ ูุงูุญุงูุฉ ุงูุฎุงุตุฉ ูู ุชูุณูู CSV.
ููุถุญ ุจู
ุซุงู ู
ู ุงููุซุงุฆู:
julia> using DelimitedFiles julia> x = [1; 2; 3; 4]; julia> y = ["a"; "b"; "c"; "d"]; julia> open("delim_file.txt", "w") do io writedlm(io, [xy]) # end; julia> readdlm("delim_file.txt") # 4ร2 Array{Any,2}: 1 "a" 2 "b" 3 "c" 4 "d"
ูู ูุฐู ุงูุญุงูุฉ ุ ูุฌุจ ุงูุงูุชุจุงู ุฅูู ุญูููุฉ ุฃู ุงูุฌุฏูู ูุญุชูู ุนูู ุจูุงูุงุช ู
ู ุฃููุงุน ู
ุฎุชููุฉ. ูุฐูู ุ ุนูุฏ ูุฑุงุกุฉ ู
ูู ุ ูุชู
ุฅูุดุงุก ู
ุตูููุฉ ู
ู ุงูููุน Array {Anyุ 2}.
ู
ุซุงู ุขุฎุฑ ูู ูุฑุงุกุฉ ุงูุฌุฏุงูู ุงูุชู ุชุญุชูู ุนูู ุจูุงูุงุช ู
ุชุฌุงูุณุฉ.
julia> using DelimitedFiles julia> x = [1; 2; 3; 4]; julia> y = [5; 6; 7; 8]; julia> open("delim_file.txt", "w") do io writedlm(io, [xy]) # end; julia> readdlm("delim_file.txt", Int64) # Int64 4ร2 Array{Int64,2}: 1 5 2 6 3 7 4 8 julia> readdlm("delim_file.txt", Float64) # Float64 4ร2 Array{Float64,2}: 1.0 5.0 2.0 6.0 3.0 7.0 4.0 8.0
ู
ู ูุฌูุฉ ูุธุฑ ููุงุกุฉ ุงูู
ุนุงูุฌุฉ ุ ููุถู ูุฐุง ุงูุฎูุงุฑ ุ ุญูุซ ุณูุชู
ุชูุฏูู
ุงูุจูุงูุงุช ุจุดูู ู
ุถุบูุท. ูู ุงูููุช ููุณู ุ ูุนุฏ ุชูููุฏูุง ูุงุถุญูุง ููุฌุฏุงูู ุงูุชู ุชู
ุซููุง ุงูู
ุตูููุฉ ุดุฑุทูุง ูุชูุญูุฏ ุงูุจูุงูุงุช.
ููุตู ุจุงูุงุทูุงุน ุนูู ู
ูุฒุงุช readdlm ุงููุงู
ูุฉ ูู ุงููุซุงุฆู. ู
ู ุจูู ุงูุฎูุงุฑุงุช ุงูุฅุถุงููุฉ ููุงู ุงููุฏุฑุฉ ุนูู ุชุญุฏูุฏ ูุถุน ุงูู
ุนุงูุฌุฉ ููุฑุคูุณ ุ ูุฎุทูุท ุงูุชุฎุทู ุ ููุธููุฉ ุฎูุงูุง ุงูู
ุนุงูุฌุฉ ุ ูู
ุง ุฅูู ุฐูู.
ุชุนุฏ ู
ูุชุจุฉ CSV.jl ุทุฑููุฉ ุจุฏููุฉ ููุฑุงุกุฉ ุงูุฌุฏุงูู. ู
ูุงุฑูุฉู ุจูุฑุงุกุฉ readdlm ู writedlm ุ ุชููุฑ ูุฐู ุงูู
ูุชุจุฉ ุงูู
ุฒูุฏ ู
ู ุงูุชุญูู
ุจุดูู ูุจูุฑ ูู ุฎูุงุฑุงุช ุงููุชุงุจุฉ ูุงููุฑุงุกุฉ ุ ุจุงูุฅุถุงูุฉ ุฅูู ูุญุต ุงูุจูุงูุงุช ูู ุงูู
ููุงุช ุงูู
ุญุฏุฏุฉ. ูู
ุน ุฐูู ุ ูุฅู ุงููุฑู ุงูุฃุณุงุณู ูู ุฃูู ูู
ูู ุชุฌุณูุฏ ูุชูุฌุฉ CSV.File ูู ููุน DataFrame.
Dataframes
ุชููุฑ ู
ูุชุจุฉ DataFrames ุฏุนู
ูุง ููููู ุจูุงูุงุช DataFrame ุ ูุงูุฐู ูุฑูุฒ ุนูู ุนุฑุถ ุงูุฌุฏุงูู. ุงููุฑู ุงูุฃุณุงุณู ู
ู ุงูู
ุตูููุฉ ููุง ูู ุฃู ูู ุนู
ูุฏ ูุชู
ุชุฎุฒููู ุจุดูู ูุฑุฏู ุ ููู ุนู
ูุฏ ูู ุงุณู
ู ุงูุฎุงุต. ูุฐูุฑ ุฃูู ุจุงููุณุจุฉ ูุฌูููุง ุ ูุนุฏ ูุถุน ุงูุชุฎุฒูู ุญุณุจ ุงูุนู
ูุฏ ุจุดูู ุนุงู
ุฃู
ุฑูุง ุทุจูุนููุง. ูุนูู ุงูุฑุบู
ู
ู ุฃู ูุฏููุง ููุง ุญุงูุฉ ุฎุงุตุฉ ู
ู ุงูู
ุตูููุงุช ุฃุญุงุฏูุฉ ุงูุจุนุฏ ุ ูุชู
ุงูุญุตูู ุนูู ุญู ุฃู
ุซู ู
ู ุญูุซ ุงูุณุฑุนุฉ ูุงูู
ุฑููุฉ ูุชู
ุซูู ุงูุจูุงูุงุช ุ ุญูุซ ูู
ูู ุฃู ูููู ููุน ูู ุนู
ูุฏ ูุฑุฏููุง.
ุฏุนููุง ูุฑู ููููุฉ ุฅูุดุงุก DataFrame.
ูู
ูู ุชุญููู ุฃู ู
ุตูููุฉ ุฅูู DataFrame.
julia> using DataFrames julia> a = [1 2; 3 4; 5 6] 3ร2 Array{Int64,2}: 1 2 3 4 5 6 julia> b = convert(DataFrame, a) 3ร2 DataFrame โ Row โ x1 โ x2 โ โ โ Int64 โ Int64 โ โโโโโโโผโโโโโโโโผโโโโโโโโค โ 1 โ 1 โ 2 โ โ 2 โ 3 โ 4 โ โ 3 โ 5 โ 6 โ
ุชููู
ูุธููุฉ ุงูุชุญููู ุจุชุญููู ุงูุจูุงูุงุช ุฅูู ุงูููุน ุงูู
ุญุฏุฏ. ููููุง ูุฐูู ุ ุจุงููุณุจุฉ ูููุน DataFrame ุ ูุชู
ุชุนุฑูู ุทุฑู ูุธููุฉ ุงูุชุญููู ูู ู
ูุชุจุฉ DataFrames (ููููุง ูู
ุตุทูุญุงุช ุฌูููุง ุ ููุงู ูุธุงุฆู ุ ููุทูู ุนูู ู
ุฌู
ูุนุฉ ู
ุชููุนุฉ ู
ู ุชุทุจููุงุชูุง ู
ุน ูุณุงุฆุท ู
ุฎุชููุฉ ุทุฑู). ูุชุฌุฏุฑ ุงูุฅุดุงุฑุฉ ุฅูู ุฃู ุฃุนู
ุฏุฉ ุงูู
ุตูููุฉ ูุชู
ุชุนููููุง ุชููุงุฆููุง ููุฃุณู
ุงุก x1 ู x2. ุฃู ุ ุฅุฐุง ุทูุจูุง ุงูุขู ุฃุณู
ุงุก ุงูุฃุนู
ุฏุฉ ุ ูุณูู ูุญุตู ุนูููุง ูู ุดูู ุตููู:
julia> names(b) 2-element Array{Symbol,1}: :x1 :x2
ูุงูุฃุณู
ุงุก ู
ูุฏู
ุฉ ุจุตูุบุฉ ู
ุซู ุงูุฑู
ุฒ (ุงูู
ุนุฑูู ูู ุนุงูู
ุฑูุจู).
ูู
ูู ุฅูุดุงุก DataFrame ู
ุจุงุดุฑุฉ - ูุงุฑุบุฉ ุฃู ุชุญุชูู ุนูู ุจุนุถ ุงูุจูุงูุงุช ูู ููุช ุงูุจูุงุก. ุนูู ุณุจูู ุงูู
ุซุงู:
julia> df = DataFrame([collect(1:3), collect(4:6)], [:A, :B]) 3ร2 DataFrame โ Row โ A โ B โ โ โ Int64 โ Int64 โ โโโโโโโผโโโโโโโโผโโโโโโโโค โ 1 โ 1 โ 4 โ โ 2 โ 2 โ 5 โ โ 3 โ 3 โ 6 โ
ููุง ูุดูุฑ ุฅูู ู
ุตูููุฉ ุจููู
ุฃุนู
ุฏุฉ ูุตููู ุจุฃุณู
ุงุก ูุฐู ุงูุฃุนู
ุฏุฉ. ุชุฌู
ูุนุงุช ุงููู
ูุฐุฌ (1: 3) ูู ุชุญููู ูุทุงู ู
ูุฑุฑ ู
ู 1 ุฅูู 3 ุฅูู ุตููู ู
ู ุงูููู
.
ูู
ูู ุงููุตูู ุฅูู ุงูุฃุนู
ุฏุฉ ุญุณุจ ุงูุงุณู
ูุงูููุฑุณ.
ู
ู ุงูุณูู ุฌุฏูุง ุฅุถุงูุฉ ุนู
ูุฏ ุฌุฏูุฏ ุจูุชุงุจุฉ ุจุนุถ ุงูููู
ุฉ ูู ุฌู
ูุน ุงูุตููู ุงูู
ูุฌูุฏุฉ. ุนูู ุณุจูู ุงูู
ุซุงู ุ df ุฃุนูุงู ุ ูุฑูุฏ ุฅุถุงูุฉ ุนู
ูุฏ ุงููุชูุฌุฉ. ููููุงู
ุจุฐูู ุ ูุญุชุงุฌ ุฅูู ูุชุงุจุฉ:
julia> df[:Score] = 0.0 0.0 julia> df 3ร3 DataFrame โ Row โ A โ B โ Score โ โ โ Int64 โ Int64 โ Float64 โ โโโโโโโผโโโโโโโโผโโโโโโโโผโโโโโโโโโโค โ 1 โ 1 โ 4 โ 0.0 โ โ 2 โ 2 โ 5 โ 0.0 โ โ 3 โ 3 โ 6 โ 0.0 โ
ููุฐูู ูู ุญุงูุฉ ุงูู
ุตูููุงุช ุงูุจุณูุทุฉ ุ ูู
ูููุง ูุตู ู
ุซููุงุช DataFrame ุจุงุณุชุฎุฏุงู
ูุธุงุฆู vcat ุ hcat. ูู
ุน ุฐูู ุ ูุง ูู
ูู ุงุณุชุฎุฏุงู
vcat ุฅูุง ู
ุน ููุณ ุงูุฃุนู
ุฏุฉ ูู ููุง ุงูุฌุฏูููู. ูู
ููู ู
ุญุงุฐุงุฉ DataFrame ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ุจุงุณุชุฎุฏุงู
ุงููุธููุฉ ุงูุชุงููุฉ:
function merge_df(first::DataFrame, second::DataFrame)::DataFrame if (first == nothing) return second else names_first = names(first) names_second = names(second) sub_names = setdiff(names_first, names_second) second[sub_names] = 0 sub_names = setdiff(names_second, names_first) first[sub_names] = 0 vcat(second, first) end end
ุชุญุตู ูุธููุฉ ุงูุฃุณู
ุงุก ููุง ุนูู ู
ุฌู
ูุนุฉ ู
ู ุฃุณู
ุงุก ุงูุฃุนู
ุฏุฉ. ุชูุดู ุงูุฏุงูุฉ setdiff (s1ุ s2) ูู ุงูู
ุซุงู ุฌู
ูุน ุนูุงุตุฑ s1 ุงูุชู ููุณุช ูู s2. ุจุนุฏ ุฐูู ุ ูู
ุจุชูุณูุน DataFrame ููุฐู ุงูุนูุงุตุฑ. vcat ูุตู ุฅุทุงุฑูู DataFrames ูุฅุฑุฌุงุน ุงููุชูุฌุฉ. ุงุณุชุฎุฏุงู
ุงูุนูุฏุฉ ูู ูุฐู ุงูุญุงูุฉ ููุณ ุถุฑูุฑููุง ุ ูุฃู ูุชูุฌุฉ ุงูุนู
ููุฉ ุงูุฃุฎูุฑุฉ ูุงุถุญุฉ.
ูู
ูููุง ุงูุชุญูู ู
ู ุงููุชูุฌุฉ:
julia> df1 = DataFrame(:A => collect(1:2)) 2ร1 DataFrame โ Row โ A โ โ โ Int64 โ โโโโโโโผโโโโโโโโค โ 1 โ 1 โ โ 2 โ 2 โ julia> df2 = DataFrame(:B => collect(3:4)) 2ร1 DataFrame โ Row โ B โ โ โ Int64 โ โโโโโโโผโโโโโโโโค โ 1 โ 3 โ โ 2 โ 4 โ julia> df3 = merge_df(df1, df2) 4ร2 DataFrame โ Row โ B โ A โ โ โ Int64 โ Int64 โ โโโโโโโผโโโโโโโโผโโโโโโโโค โ 1 โ 3 โ 0 โ โ 2 โ 4 โ 0 โ โ 3 โ 0 โ 1 โ โ 4 โ 0 โ 2 โ
ูุงุญุธ ุฃูู ู
ู ุญูุซ ุงุตุทูุงุญุงุช ุงูุชุณู
ูุฉ ูู ุฌูููุง ุ ููุณ ู
ู ุงูู
ุนุชุงุฏ ุงุณุชุฎุฏุงู
ุงูุดุฑุทุงุช ุงูุณูููุฉ ุ ูููู ุจุนุฏ ุฐูู ุชุนุงูู ุณูููุฉ ุงููุฑุงุกุฉ. ูู
ุง ุฃูู ููุณ ุฌูุฏูุง ุฌุฏูุง ูู ูุฐุง ุงูุชุทุจูู ูู ุชุนุฏูู DataFrame ุงูุฃุตูู. ูููู ุ ู
ุน ุฐูู ุ ูุฐุง ุงูู
ุซุงู ุฌูุฏ ูุชูุถูุญ ุนู
ููุฉ ู
ุญุงุฐุงุฉ ุฃุนู
ุฏุฉ ู
ุชุนุฏุฏุฉ.
ูู
ูู ุฑุจุท ุงูุนุฏูุฏ ู
ู ุฅุทุงุฑุงุช ุงูุจูุงูุงุช ุจุงุณุชุฎุฏุงู
ุงูููู
ุงูู
ุดุชุฑูุฉ ูู ุงูุฃุนู
ุฏุฉ ุจุงุณุชุฎุฏุงู
ูุธููุฉ ุงูุฑุจุท (ุนูู ุณุจูู ุงูู
ุซุงู ุ ูุตู ุฌุฏูููู ุจุฃุนู
ุฏุฉ ู
ุฎุชููุฉ ุจูุงุณุทุฉ ู
ุนุฑูุงุช ุงูู
ุณุชุฎุฏู
ูู ุงูุนุงุฏููู).
DataFrame ู
ูุงุณุจ ููุนุฑุถ ูู ูุญุฏุฉ ุงูุชุญูู
. ุฃู ุทุฑููุฉ ููุฅุฎุฑุงุฌ: ุงุณุชุฎุฏุงู
ุงูู
ุงูุฑู show ุ ุจุงุณุชุฎุฏุงู
ูุธููุฉ println ุ ูู
ุง ุฅูู ุฐูู ุ ุณูุคุฏู ุฅูู ุทุจุงุนุฉ ุฌุฏูู ุฅูู ูุญุฏุฉ ุงูุชุญูู
ูู ูู
ูุฐุฌ ูุณูู ูุฑุงุกุชู. ุฅุฐุง ูุงู DataFrame ูุจูุฑูุง ุฌุฏูุง ุ ูุณูุชู
ุนุฑุถ ุณุทุฑู ุงูุจุฏุงูุฉ ูุงูููุงูุฉ. ูู
ุน ุฐูู ุ ูู
ููู ุฃู ุชุทูุจ ุตุฑุงุญุฉ ุงูุฑุฃุณ ูุงูุฐูู ู
ุน ูุธุงุฆู ุงูุฑุฃุณ ูุงูุฐูู ุ ุนูู ุงูุชูุงูู.
ุจุงููุณุจุฉ ูู DataFrame ุ ุชุชููุฑ ูุธุงุฆู ุชุฌู
ูุน ุงูุจูุงูุงุช ูุชุฌู
ูุนูุง ููุฏุงูุฉ ุงูู
ุญุฏุฏุฉ. ููุงู ุงุฎุชูุงูุงุช ูู ู
ุง ูุนูุฏูู. ูู
ูู ุฃู ุชููู ูุฐู ู
ุฌู
ูุนุฉ ู
ุน DataFrame ููู ุจู
ุนุงููุฑ ุงูุชุฌู
ูุน ุ ุฃู DataFrame ูุงุญุฏ ุญูุซ ุณูุชู
ุชุดููู ุฃุณู
ุงุก ุงูุฃุนู
ุฏุฉ ู
ู ุงูุงุณู
ุงูุฃุตูู ูุงุณู
ูุธููุฉ ุงูุชุฌู
ูุน. ูู ุงูุฌููุฑ ุ ูุชู
ุชูููุฐ ู
ุฎุทุท ุชูุณูู
ุงูุชูุณูู
. ุงูุธุฑ ุงูุชูุงุตูู
ุณูุณุชุฎุฏู
ู
ุซุงู ู
ู ุงููุซุงุฆู ู
ุน ุฌุฏูู ู
ุซุงู ู
ุชุงุญ ูุฌุฒุก ู
ู ุญุฒู
ุฉ DataFrames.
julia> using DataFrames, CSV, Statistics julia> iris = CSV.read(joinpath(dirname(pathof(DataFrames)), "../test/data/iris.csv"));
ุชูููุฐ ุงูุชุฌู
ูุน ุจุงุณุชุฎุฏุงู
ูุธููุฉ groupby. ุญุฏุฏ ุงุณู
ุนู
ูุฏ ุงูุชุฌู
ูุน ูุงุญุตู ุนูู ูุชูุฌุฉ ู
ู ููุน GroupedDataFrame ุ ูุงูุฐู ูุญุชูู ุนูู ู
ุฌู
ูุนุฉ ู
ู DataFrames ูุฑุฏูุฉ ุชู
ุฌู
ุนูุง ู
ู ุฎูุงู ููู
ุนู
ูุฏ ุงูุชุฌู
ูุน.
julia> species = groupby(iris, :Species) GroupedDataFrame with 3 groups based on key: :Species First Group: 50 rows โ Row โ SepalLength โ SepalWidth โ PetalLength โ PetalWidth โ Species โ โ โ Float64 โ Float64 โ Float64 โ Float64 โ String โ โโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโค โ 1 โ 5.1 โ 3.5 โ 1.4 โ 0.2 โ setosa โ โ 2 โ 4.9 โ 3.0 โ 1.4 โ 0.2 โ setosa โ โ 3 โ 4.7 โ 3.2 โ 1.3 โ 0.2 โ setosa โ
ูู
ูู ุชุญููู ุงููุชูุฌุฉ ุฅูู ุตููู ุจุงุณุชุฎุฏุงู
ูุธููุฉ ุงูุชุฌู
ูุน ุงูู
ุฐููุฑุฉ ู
ุณุจููุง:
julia> collect(species) 3-element Array{Any,1}: 50ร5 SubDataFrame{Array{Int64,1}} โ Row โ SepalLength โ SepalWidth โ PetalLength โ PetalWidth โ Species โ โ โ Float64 โ Float64 โ Float64 โ Float64 โ String โ โโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโค โ 1 โ 5.1 โ 3.5 โ 1.4 โ 0.2 โ setosa โ โ 2 โ 4.9 โ 3.0 โ 1.4 โ 0.2 โ setosa โ โ 3 โ 4.7 โ 3.2 โ 1.3 โ 0.2 โ setosa โ โฆ
ุชุฌู
ูุน ุจุงุณุชุฎุฏุงู
ุงููุธููุฉ ุญุณุจ. ุญุฏุฏ ุงุณู
ุงูุนู
ูุฏ ููุธููุฉ ุงูู
ุนุงูุฌุฉ ูุฅุทุงุฑ DataFrame ุงูู
ุณุชูู
. ุงูู
ุฑุญูุฉ ุงูุฃููู ู
ู ุงูุนู
ู ุชุดุจู ูุธููุฉ groupby - ูุญุตู ุนูู ู
ุฌู
ูุนุฉ DataFrame. ููู ุฅุทุงุฑ DataFrame ุ ุงุญุณุจ ุนุฏุฏ ุงูุตููู ูุถุนูุง ูู ุงูุนู
ูุฏ N. ุณูุชู
ูุตู ุงููุชูุฌุฉ ูู ุฅุทุงุฑ DataFrame ูุงุญุฏ ูุณุชูุฑุฌุน ูุชูุฌุฉ ุงููุธููุฉ ุญุณุจ.
julia> by(iris, :Species, df -> DataFrame(N = size(df, 1))) 3ร2 DataFrame โ Row โ Species โ N โ โ โ Stringโฐ โ Int64 โ โโโโโโโผโโโโโโโโโโโโโผโโโโโโโโค โ 1 โ setosa โ 50 โ โ 2 โ versicolor โ 50 โ โ 3 โ virginica โ 50 โ
ุญุณููุง ุ ุงูุฎูุงุฑ ุงูุฃุฎูุฑ ูู ุฏุงูุฉ ุงูุชุฌู
ูุน. ูุญุฏุฏ ุนู
ูุฏูุง ููุชุฌู
ูุน ููุธููุฉ ุชุฌู
ูุน ููุฃุนู
ุฏุฉ ุงูู
ุชุจููุฉ. ูุงููุชูุฌุฉ ูู DataFrame ุญูุซ ุณูุชู
ุชุดููู ุฃุณู
ุงุก ุงูุฃุนู
ุฏุฉ ููุงุจุฉ ุนู ุฃุนู
ุฏุฉ ุงูู
ุตุฏุฑ ูุงุณู
ุฏุงูุฉ ุงูุชุฌู
ูุน.
julia> aggregate(iris, :Species, sum) 3ร5 DataFrame โRowโSpecies โSepalLength_sumโSepalWidth_sumโPetalLength_sumโPetalWidth_sumโ โ โ String โ Float64 โ Float64 โ Float64 โ Float64 โ โโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค โ 1 โsetosa โ250.3 โ 171.4 โ 73.1 โ 12.3 โ โ 2 โversicolorโ296.8 โ 138.5 โ 213.0 โ 66.3 โ โ 3 โvirginica โ329.4 โ 148.7 โ 277.6 โ 101.3 โ
ุชุทุจู ุงูุฏุงูุฉ colwise ุงููุธููุฉ ุงูู
ุญุฏุฏุฉ ุนูู ุฌู
ูุน ุฃุนู
ุฏุฉ DataFrame ุงูู
ุญุฏุฏุฉ ุฃู ููุท.
julia> colwise(mean, iris[1:4]) 4-element Array{Float64,1}: 5.843333333333335 3.057333333333334 3.7580000000000027 1.199333333333334
ููุตู ูุธููุฉ ู
ุฑูุญุฉ ููุบุงูุฉ ููุญุตูู ุนูู ู
ูุฎุต ุงูุฌุฏูู. ู
ุซุงู ููุงุณุชุฎุฏุงู
:
julia> describe(iris) 5ร8 DataFrame โRowโ variable โmean โmin โmedianโ max โnuniqueโnmissingโ eltype โ โ โ Symbol โUnionโฆ โAny โUnionโฆโ Any โUnionโฆ โInt64 โDataTypeโ โโโโโผโโโโโโโโโโโโผโโโโโโโโผโโโโโโโผโโโโโโโผโโโโโโโโโโผโโโโโโโโผโโโโโโโโโผโโโโโโโโโค โ 1 โSepalLengthโ5.84333โ 4.3 โ 5.8 โ 7.9 โ โ 0 โ Float64โ โ 2 โSepalWidth โ3.05733โ 2.0 โ 3.0 โ 4.4 โ โ 0 โ Float64โ โ 3 โPetalLengthโ3.758 โ 1.0 โ 4.35 โ 6.9 โ โ 0 โ Float64โ โ 4 โPetalWidth โ1.19933โ 0.1 โ 1.3 โ 2.5 โ โ 0 โ Float64โ โ 5 โSpecies โ โsetosaโ โvirginicaโ 3 โ 0 โ String โ
ูุงุฆู
ุฉ ูุงู
ูุฉ ุจู
ูุฒุงุช DataFrames .
ูู
ุง ูู ุงูุญุงู ู
ุน ุญุงูุฉ Matrix ุ ูู
ููู ุงุณุชุฎุฏุงู
ุฌู
ูุน ุงููุธุงุฆู ุงูุฅุญุตุงุฆูุฉ ุงูู
ุชุงุญุฉ ูู ูุญุฏุฉ ุงูุฅุญุตุงุฆูุงุช ูู DataFrame. ุงูุธุฑ https://docs.julialang.org/en/v1/stdlib/Statistics/index.html
ูุชู
ุงุณุชุฎุฏุงู
ู
ูุชุจุฉ StatPlots.jl ูุนุฑุถ DataFrame ุจุดูู ุฑุณูู
ู. ุดุงูุฏ ุงูู
ุฒูุฏ https://github.com/JuliaPlots/StatPlots.jl
ุชููู
ูุฐู ุงูู
ูุชุจุฉ ุจุชูููุฐ ู
ุฌู
ูุนุฉ ู
ู ูุญุฏุงุช ุงูู
ุงูุฑู ูุชุจุณูุท ุงูุชุตูุฑ.
julia> df = DataFrame(a = 1:10, b = 10 .* rand(10), c = 10 .* rand(10)) 10ร3 DataFrame โ Row โ a โ b โ c โ โ โ Int64 โ Float64 โ Float64 โ โโโโโโโผโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โ 1 โ 1 โ 0.73614 โ 7.11238 โ โ 2 โ 2 โ 5.5223 โ 1.42414 โ โ 3 โ 3 โ 3.5004 โ 2.11633 โ โ 4 โ 4 โ 1.34176 โ 7.54208 โ โ 5 โ 5 โ 8.52392 โ 2.98558 โ โ 6 โ 6 โ 4.47477 โ 6.36836 โ โ 7 โ 7 โ 8.48093 โ 6.59236 โ โ 8 โ 8 โ 5.3761 โ 2.5127 โ โ 9 โ 9 โ 3.55393 โ 9.2782 โ โ 10 โ 10 โ 3.50925 โ 7.07576 โ julia> @df df plot(:a, [:b :c], colour = [:red :blue])

ูู ุงูุณุทุฑ ุงูุฃุฎูุฑ ุdf ูู ุงูู
ุงูุฑู ุ df ูู ุงุณู
ุงูู
ุชุบูุฑ ู
ุน DataFrame.
ูู
ูู ุฃู ูููู Query.jl ู
ูุชุจุฉ ู
ููุฏุฉ ููุบุงูุฉ. ุจุงุณุชุฎุฏุงู
ุขููุงุช ูุญุฏุงุช ุงูู
ุงูุฑู ูููุงุฉ ุงูู
ุนุงูุฌุฉ ุ ูููุฑ Query.jl ูุบุฉ ุงุณุชุนูุงู
ู
ุชุฎุตุตุฉ. ู
ุซุงู ุนูู ุฐูู ูู ุงูุญุตูู ุนูู ูุงุฆู
ุฉ ุจุงูุฃุดุฎุงุต ุงูุฐูู ุชุฒูุฏ ุฃุนู
ุงุฑูู
ุนู 50 ูุนุฏุฏ ุงูุฃุทูุงู ุงูุฐูู ูุฏููู
:
julia> using Query, DataFrames julia> df = DataFrame(name=["John", "Sally", "Kirk"], age=[23., 42., 59.], children=[3,5,2]) 3ร3 DataFrame โ Row โ name โ age โ children โ โ โ String โ Float64 โ Int64 โ โโโโโโโผโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโค โ 1 โ John โ 23.0 โ 3 โ โ 2 โ Sally โ 42.0 โ 5 โ โ 3 โ Kirk โ 59.0 โ 2 โ julia> x = @from i in df begin @where i.age>50 @select {i.name, i.children} @collect DataFrame end 1ร2 DataFrame โ Row โ name โ children โ โ โ String โ Int64 โ โโโโโโโผโโโโโโโโโผโโโโโโโโโโโค โ 1 โ Kirk โ 2 โ
ุฃู ูู
ูุฐุฌ ุจููุงุฉ:
julia> using Query, DataFrames julia> df = DataFrame(name=["John", "Sally", "Kirk"], age=[23., 42., 59.], children=[3,5,2]); julia> x = df |> @query(i, begin @where i.age>50 @select {i.name, i.children} end) |> DataFrame 1ร2 DataFrame โ Row โ name โ children โ โ โ String โ Int64 โ โโโโโโโผโโโโโโโโโผโโโโโโโโโโโค โ 1 โ Kirk โ 2 โ
ุดุงูุฏ ุงูู
ุฒูุฏ ู
ู ุงูุชูุงุตูู
ููุถุญ ููุง ุงูู
ุซุงููู ุฃุนูุงู ุงุณุชุฎุฏุงู
ูุบุงุช ุงูุงุณุชุนูุงู
ู
ุดุงุจูุฉ ูุธูููุง ูู dplyr ุฃู LINQ. ุนูุงูุฉ ุนูู ุฐูู ุ ูุง ุชูุชุตุฑ ูุฐู ุงููุบุงุช ุนูู Query.jl. ุชุนุฑู ุนูู ุงูู
ุฒูุฏ ุญูู ุงุณุชุฎุฏุงู
ูุฐู ุงููุบุงุช ู
ุน DataFrames ููุง .
ูุณุชุฎุฏู
ุงูู
ุซุงู ุงูุฃุฎูุฑ ุนุงู
ู | |. ุดุงูุฏ ุงูู
ุฒูุฏ .
ูุณุชุจุฏู ูุฐุง ุงูุนุงู
ู ุงูุญุฌุฉ ูู ุงูุฏุงูุฉ ุงูู
ุดุงุฑ ุฅูููุง ุนูู ูู
ูููุง. ุจุนุจุงุฑุฉ ุฃุฎุฑู:
julia> [1:5;] |> x->x.^2 |> sum |> inv 0.01818181818181818
ุชุนุงุฏู:
julia> inv(sum( [1:5;] .^ 2 )) 0.01818181818181818
ูุขุฎุฑ ุดูุก ุฃูุฏ ุฃู ุฃุดูุฑ ุฅููู ูู ุงููุฏุฑุฉ ุนูู ูุชุงุจุฉ DataFrame ุฅูู ุชูุณูู ุงูุฅุฎุฑุงุฌ ุจุงุณุชุฎุฏุงู
ูุงุตู ุจุงุณุชุฎุฏุงู
ู
ูุชุจุฉ CSV.jl ุงูู
ุฐููุฑุฉ ุณุงุจููุง
julia> df = DataFrame(name=["John", "Sally", "Kirk"], age=[23., 42., 59.], children=[3,5,2]) 3ร3 DataFrame โ Row โ name โ age โ children โ โ โ String โ Float64 โ Int64 โ โโโโโโโผโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโค โ 1 โ John โ 23.0 โ 3 โ โ 2 โ Sally โ 42.0 โ 5 โ โ 3 โ Kirk โ 59.0 โ 2 โ julia> CSV.write("out.csv", df) "out.csv"
ูู
ูููุง ุงูุชุญูู ู
ู ุงููุชูุฌุฉ ุงูู
ุณุฌูุฉ:
> cat out.csv name,age,children John,23.0,3 Sally,42.0,5 Kirk,59.0,2
ุงูุฎูุงุตุฉ
ู
ู ุงูุตุนุจ ุงูุชูุจุค ุจู
ุง ุฅุฐุง ูุงูุช ุฌูููุง ุณุชุตุจุญ ูุบุฉ ุจุฑู
ุฌุฉ ุดุงุฆุนุฉ ู
ุซู R ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ูููู ูุฐุง ุงูุนุงู
ุฃุตุจุญุช ุจุงููุนู ูุบุฉ ุงูุจุฑู
ุฌุฉ ุงูุฃุณุฑุน ูู
ููุง. ุฅุฐุง ูุงู ุงููููู ู
ููู
ููุท ูุนุฑููู ุนููุง ูู ุงูุนุงู
ุงูู
ุงุถู ุ ูุฐุง ุงูุนุงู
ุ ุจุนุฏ ุฅุตุฏุงุฑ ุงูุฅุตุฏุงุฑ 1.0 ูุชุซุจูุช ูุธุงุฆู ุงูู
ูุชุจุฉ ุ ููุฏ ุจุฏุฃูุง ูู ุงููุชุงุจุฉ ุนููุง ุ ูู
ู ุงูู
ุคูุฏ ุชูุฑูุจูุง ูู ุงูุนุงู
ุงูู
ูุจู ุฃููุง ุณุชุตุจุญ ูุบุฉ ุณูููู ู
ู ุบูุฑ ุงููุงุฆู ุนุฏู
ู
ุนุฑูุชูุง ูู ู
ุฌุงู ุนููู
ุงูุจูุงูุงุช. ูุงูุดุฑูุงุช ุงูุชู ูู
ุชุจุฏุฃ ูู ุงุณุชุฎุฏุงู
ุฌูููุง ูุชุญููู ุงูุจูุงูุงุช ุณุชููู ุฏููุงุตูุฑุงุช ุตุฑูุญุฉ ุณูุชู
ุงุณุชุจุฏุงููุง ุจุฃุญูุงุฏ ุฃูุซุฑ ู
ุฑููุฉ.
ุฌูููุง ูู ูุบุฉ ุจุฑู
ุฌุฉ ุดุงุจุฉ. ูู ุงููุงูุน ุ ุจุนุฏ ุธููุฑ ุงูู
ุดุงุฑูุน ุงูุชุฌุฑูุจูุฉ ุ ุณูููู ู
ู ุงููุงุถุญ ู
ุฏู ุฌุงูุฒูุฉ ุงูุจููุฉ ุงูุชุญุชูุฉ ูุฌูููุง ููุงุณุชุฎุฏุงู
ุงูุตูุงุนู ุงูุญูููู. ู
ุทูุฑู ุฌูููุง ุทู
ูุญูู ููุบุงูุฉ ูุฌุงูุฒูู ุงูุขู. ุนูู ุฃู ุญุงู ุ ูุฅู ุจููุฉ ุฌูููุง ุงูุจุณูุทุฉ ูููู ุงูุตุงุฑู
ุฉ ุชุฌุนููุง ูุบุฉ ุจุฑู
ุฌุฉ ุฌุฐุงุจุฉ ููุบุงูุฉ ููุชุนูู
ูู ุงูููุช ุงูุญุงูู. ูุณู
ุญ ูู ุงูุฃุฏุงุก ุงูุนุงูู ุจุชูููุฐ ุฎูุงุฑุฒู
ูุงุช ู
ูุงุณุจุฉ ููุณ ููุท ููุฃุบุฑุงุถ ุงูุชุนููู
ูุฉ ุ ูููู ุฃูุถูุง ููุงุณุชุฎุฏุงู
ุงูุญูููู ูู ุชุญููู ุงูุจูุงูุงุช. ุณูุจุฏุฃ ูู ู
ุญุงููุฉ ุฌูููุง ุจุงุณุชู
ุฑุงุฑ ูู ู
ุดุงุฑูุน ู
ุฎุชููุฉ ุงูุขู.