Julia. DataFrames, sur une colonne trouvez le minimum par lot de 5 valeurs.
par
, 24/11/2020 à 11h30 (371 Affichages)
Cette question a été posée sur le forum Python: https://www.developpez.net/forums/d2.../#post11649856
Code Julia : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 using DataFrames df = DataFrame() df.A = [ "2019-02-01", "2019-02-02", "2019-02-03", "2019-02-04", "2019-02-05", "2019-02-06", "2019-02-07", "2019-02-08", "2019-02-09", "2019-02-10", "2019-02-11", "2019-02-12", "2019-02-13", "2019-02-14", "2019-02-15", "2019-02-16", "2019-02-17", "2019-02-18", "2019-02-19", "2019-02-20", "2019-02-21", "2019-02-22", "2019-02-23", "2019-02-24", "2019-02-25", "2019-02-26", "2019-02-27", "2019-02-28", ] df.B = [ 236.182, 2169.59, 831.993, 358.897, 318.064, 284.661, 501.12, 367.595, 306.555, 838.952, 390.737, 326.779, 243.793, 183.42, 241.558, 221.979, 169.057, 228.134, 180.55, 138.609, 142.635, 122.321, 124.902, 112.064, 101.883, 122.155, 122.149, 101.846, ] max = length(df[:, :B]) df.C = [0.0 for _=1:max] index_min = [(i + argmin(df.B[i:(i+5<=max ? i+5 : max)]) - 1) for i=1:5:max] for i in index_min df.C[i] = df.B[i] end println(df) println(df) # nécessaire pour afficher toutes les lignes du df
Licence Creative Commons Attribution 2.0 Belgique#= 28×3 DataFrame Row │ A B C │ String Float64 Float64 ─────┼─────────────────────────────── 1 │ 2019-02-01 236.182 236.182 2 │ 2019-02-02 2169.59 0.0 3 │ 2019-02-03 831.993 0.0 4 │ 2019-02-04 358.897 0.0 5 │ 2019-02-05 318.064 0.0 6 │ 2019-02-06 284.661 284.661 7 │ 2019-02-07 501.12 0.0 8 │ 2019-02-08 367.595 0.0 9 │ 2019-02-09 306.555 0.0 10 │ 2019-02-10 838.952 0.0 11 │ 2019-02-11 390.737 0.0 12 │ 2019-02-12 326.779 0.0 13 │ 2019-02-13 243.793 0.0 14 │ 2019-02-14 183.42 183.42 15 │ 2019-02-15 241.558 0.0 16 │ 2019-02-16 221.979 0.0 17 │ 2019-02-17 169.057 0.0 18 │ 2019-02-18 228.134 0.0 19 │ 2019-02-19 180.55 0.0 20 │ 2019-02-20 138.609 138.609 21 │ 2019-02-21 142.635 0.0 22 │ 2019-02-22 122.321 0.0 23 │ 2019-02-23 124.902 0.0 24 │ 2019-02-24 112.064 0.0 25 │ 2019-02-25 101.883 101.883 26 │ 2019-02-26 122.155 0.0 27 │ 2019-02-27 122.149 0.0 28 │ 2019-02-28 101.846 101.846 =#