using Dates let # portée locale d = Dates.now() println("Daniel Hagnoul $d\n") end
Daniel Hagnoul 2020-10-26T21:08:53.255
macro do_more(n, exp) quote for i = 1:$(esc(n)) $(esc(exp)) end end end @do_more(2, println("Bonjour Daniel"))
Bonjour Daniel Bonjour Daniel
macro do_while(exp) @assert exp.head == :while esc(quote $(exp.args[2]) $exp end) end let z = 0 @do_while while z < 10 println(z) z += 1 end end
0 1 2 3 4 5 6 7 8 9
using DataFrames df = DataFrame() df.A = 1.0:5.0 df.B = ["A", "E", "I", "O", "U"] df.C = ["A", "B", "C", "D", "E"] let println("df, colonnes [A, B, C] = $df\n") df.D = ["A", "Z", "B", "K", "M"] println("df, colonnes [A, B, C, D] = $df") end
df, colonnes [A, B, C] = 5×3 DataFrame │ Row │ A │ B │ C │ │ │ Float64 │ String │ String │ ├─────┼─────────┼────────┼────────┤ │ 1 │ 1.0 │ A │ A │ │ 2 │ 2.0 │ E │ B │ │ 3 │ 3.0 │ I │ C │ │ 4 │ 4.0 │ O │ D │ │ 5 │ 5.0 │ U │ E │ df, colonnes [A, B, C, D] = 5×4 DataFrame │ Row │ A │ B │ C │ D │ │ │ Float64 │ String │ String │ String │ ├─────┼─────────┼────────┼────────┼────────┤ │ 1 │ 1.0 │ A │ A │ A │ │ 2 │ 2.0 │ E │ B │ Z │ │ 3 │ 3.0 │ I │ C │ B │ │ 4 │ 4.0 │ O │ D │ K │ │ 5 │ 5.0 │ U │ E │ M │
let println("df, les deux premières lignes = $(first(df, 2))\n") println("df, les deux dernières lignes = $(last(df, 2))\n") println("df, la troisième ligne = $(df[:3, :])") end
df, les deux premières lignes = 2×4 DataFrame │ Row │ A │ B │ C │ D │ │ │ Float64 │ String │ String │ String │ ├─────┼─────────┼────────┼────────┼────────┤ │ 1 │ 1.0 │ A │ A │ A │ │ 2 │ 2.0 │ E │ B │ Z │ df, les deux dernières lignes = 2×4 DataFrame │ Row │ A │ B │ C │ D │ │ │ Float64 │ String │ String │ String │ ├─────┼─────────┼────────┼────────┼────────┤ │ 1 │ 4.0 │ O │ D │ K │ │ 2 │ 5.0 │ U │ E │ M │ df, la troisième ligne = DataFrameRow │ Row │ A │ B │ C │ D │ │ │ Float64 │ String │ String │ String │ ├─────┼─────────┼────────┼────────┼────────┤ │ 3 │ 3.0 │ I │ C │ B │
let println("La colonne B = $(df[:, :B])\n") println("df, la colonne B = $(df[:, [:B]])") end
La colonne B = ["A", "E", "I", "O", "U"] df, la colonne B = 5×1 DataFrame │ Row │ B │ │ │ String │ ├─────┼────────┤ │ 1 │ A │ │ 2 │ E │ │ 3 │ I │ │ 4 │ O │ │ 5 │ U │
let #= Création d'un sous-ensemble contenant la colonne 'B' et les 3 premières lignes du bloc de données =# println("df, sous-ensemble = $(first(select(df, :B ), 3) )\n") #= Création d'un sous-ensemble contenat les trois premières lignes sans la colonne 'B' =# println("df, sous-ensemble = $(first(select(df, Not(:B) ), 3) )") end
df, sous-ensemble = 3×1 DataFrame │ Row │ B │ │ │ String │ ├─────┼────────┤ │ 1 │ A │ │ 2 │ E │ │ 3 │ I │ df, sous-ensemble = 3×3 DataFrame │ Row │ A │ C │ D │ │ │ Float64 │ String │ String │ ├─────┼─────────┼────────┼────────┤ │ 1 │ 1.0 │ A │ A │ │ 2 │ 2.0 │ B │ Z │ │ 3 │ 3.0 │ C │ B │
let # Création d'un sous-ensemble contenant les lignes 2:4 et les colonnes [:A, :C] println("df, sous-ensemble = $(df[2:4, [:A, :C]])\n") end
df, sous-ensemble = 3×2 DataFrame │ Row │ A │ C │ │ │ Float64 │ String │ ├─────┼─────────┼────────┤ │ 1 │ 2.0 │ B │ │ 2 │ 3.0 │ C │ │ 3 │ 4.0 │ D │
let # Remplace une valeur par une autre replace!(df.A, 4.0 => 7.0) # Ajouter une nouvelle ligne push!(df, [6.0 "Z" "F" "P"]) # Ajouter une colonne en troisième position insert!(df, 3, ["Q", "W", "E", "R", "T", "Y"], :E) println("df = $(df)\n") # Supprime la quatrième ligne deleterows!(df, 4) # Supprime la troisième colonne deletecols!(df, 3) println("df = $(df)") end
df = 6×5 DataFrame │ Row │ A │ B │ E │ C │ D │ │ │ Float64 │ String │ String │ String │ String │ ├─────┼─────────┼────────┼────────┼────────┼────────┤ │ 1 │ 1.0 │ A │ Q │ A │ A │ │ 2 │ 2.0 │ E │ W │ B │ Z │ │ 3 │ 3.0 │ I │ E │ C │ B │ │ 4 │ 7.0 │ O │ R │ D │ K │ │ 5 │ 5.0 │ U │ T │ E │ M │ │ 6 │ 6.0 │ Z │ Y │ F │ P │ df = 5×4 DataFrame │ Row │ A │ B │ C │ D │ │ │ Float64 │ String │ String │ String │ ├─────┼─────────┼────────┼────────┼────────┤ │ 1 │ 1.0 │ A │ A │ A │ │ 2 │ 2.0 │ E │ B │ Z │ │ 3 │ 3.0 │ I │ C │ B │ │ 4 │ 5.0 │ U │ E │ M │ │ 5 │ 6.0 │ Z │ F │ P │
let df1 = DataFrame(F = ["A", "E", "I", "O", "U"], G = ["G", "E", "E", "K", "S"]) df2 = DataFrame(H = ["G", "R", "E", "A", "T"]) # Fusion horizontale des dataframes df1 et df2 df3 = hcat(df1, df2) println("df3 = $(df3)\n") df4 = DataFrame(A = 7, B ="O", C ="G", E = 17) df5 = DataFrame(A = 8, B ="None", C ="H", E = 19) # Fusion verticale des dataframes df4 et df5 df6 = vcat(df4, df5) println("df6 = $(df6)") end
df3 = 5×3 DataFrame │ Row │ F │ G │ H │ │ │ String │ String │ String │ ├─────┼────────┼────────┼────────┤ │ 1 │ A │ G │ G │ │ 2 │ E │ E │ R │ │ 3 │ I │ E │ E │ │ 4 │ O │ K │ A │ │ 5 │ U │ S │ T │ df6 = 2×4 DataFrame │ Row │ A │ B │ C │ E │ │ │ Int64 │ String │ String │ Int64 │ ├─────┼───────┼────────┼────────┼───────┤ │ 1 │ 7 │ O │ G │ 17 │ │ 2 │ 8 │ None │ H │ 19 │
Licence Creative Commons Attribution 2.0 Belgique