Bonjour,
Je retranscrit un code sas vers python . Je souhaiterais savoir si vous connaissez la fonction ou le code pour effectuer un first by ou last by en python
en sas cela se fait de cette manière --> https://thesasreference.wordpress.co...06/first_last/
Connaissez vous également la fonction pour effectuer un retain ?
Voici un exemple:
Code : 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 data cpt(keep = cinf_no top2 ouv2 ancien2 ancimp2 arch2 ade2 top15 ouv15 ancien15 ancimp15 arch15 ade15 top26 ouv26 ancien26 ancimp26 arch26 ade26 top30 ouv30 ancien30 ancimp30 arch30 ade30 top50 ouv50 ancien50 ancimp50 arch50 ade50 top120 ouv120 ancien130 ancimp120 arch120 ade120 top130 ouv130 ancien130 ancimp130 arch130 ade130 top428 ouv428 ancien428 ancimp428 arch428 ade428 top448 ouv448 ancien448 ancimp448 arch448 ade448 top10 ouv10 ancien10 ancimp10 arch10 ade10 top14 ouv14 ancien14 ancimp14 arch14 ade14 top4 ouv4 ancien4 ancimp4 arch4 ade4 top6 ouv6 ancien6 ancimp6 arch6 ade6 top9 ouv9 ancien9 ancimp9 arch9 ade9 ancieng ancimpg nbouvg nbcomptes nbarchg ); set comptes; by cinf_no; length top2 3. datouv2 8. ouv2 3. arch2 3. datimp2 8. ade2 3. top15 3. datouv15 8. ouv15 3. arch15 3. datimp15 8. ade15 3. top26 3. datouv26 8. ouv26 3. arch26 3. datimp26 8. ade26 3. top30 3. datouv30 8. ouv30 3. arch30 3. datimp30 8. ade30 3. top50 3. datouv50 8. ouv50 3. arch50 3. datimp50 8. ade50 3. top120 3. datouv120 8. ouv120 3. arch120 3. datimp120 8. ade120 3. top130 3. datouv130 8. ouv130 3. arch130 3. datimp130 8. ade130 3. top428 3. datouv428 8. ouv428 3. arch428 3. datimp428 8. ade428 3. top448 3. datouv448 8. ouv448 3. arch448 3. datimp448 8. ade448 3. top10 3. datouv10 8. ouv10 3. arch10 3. datimp10 8. ade10 3. top14 3. datouv14 8. ouv14 3. arch14 3. datimp14 8. ade14 3. top4 3. datouv4 8. ouv4 3. arch4 3. datimp4 8. ade4 3. top6 3. datouv6 8. ouv6 3. arch6 3. datimp6 8. ade6 3. top9 3. datouv9 8. ouv9 3. arch9 3. datimp9 8. ade9 3. datouvg 8. datimpg 8.; retain top2 datouv2 ouv2 arch2 datimp2 ade2 top15 datouv15 ouv15 arch15 datimp15 ade15 top26 datouv26 ouv26 arch26 datimp26 ade26 top30 datouv30 ouv30 arch30 datimp30 ade30 top50 datouv50 ouv50 arch50 datimp50 ade50 top120 datouv120 ouv120 arch120 datimp120 ade120 top130 datouv130 ouv130 arch130 datimp130 ade130 top428 datouv428 ouv428 arch428 datimp428 ade428 top448 datouv448 ouv448 arch448 datimp448 ade448 top10 datouv10 ouv10 arch10 datimp10 ade10 top14 datouv14 ouv14 arch14 datimp14 ade14 top4 datouv4 ouv4 arch4 datimp4 ade4 top6 datouv6 ouv6 arch6 datimp6 ade6 top9 datouv9 ouv9 arch9 datimp9 ade9 datouvg datimpg 0; if first.cinf_no then do; top2=0; datouv2="01jan2020"D; ouv2=0; arch2=0; datimp2=.; ade2=0; top15=0; datouv15="01jan2020"D; ouv15=0; arch15=0; datimp15=.; ade15=0; top26=0; datouv26="01jan2020"D; ouv26=0; arch26=0; datimp26=.; ade26=0; top30=0; datouv30="01jan2020"D; ouv30=0; arch30=0; datimp30=.; ade30=0; top50=0; datouv50="01jan2020"D; ouv50=0; arch50=0; datimp50=.; ade50=0; top120=0; datouv120="01jan2020"D; ouv120=0; arch120=0; datimp120=.; ade120=0; top130=0; datouv130="01jan2020"D; ouv130=0; arch130=0; datimp130=.; ade130=0; top428=0; datouv428="01jan2020"D; ouv428=0; arch428=0; datimp428=.; ade428=0; top448=0; datouv448="01jan2020"D; ouv448=0; arch448=0; datimp448=.; ade448=0; top10=0; datouv10="01jan2020"D; ouv10=0; arch10=0; datimp10=.; ade10=0; top14=0; datouv14="01jan2020"D; ouv14=0; arch14=0; datimp14=.; ade14=0; top4=0; datouv4="01jan2020"D; ouv4=0; arch4=0; datimp4=.; ade4=0; top6=0; datouv6="01jan2020"D; ouv6=0; arch6=0; datimp6=.; ade6=0; top9=0; datouv9="01jan2020"D; ouv9=0; arch9=0; datimp9=.; ade9=0; datouvg="01jan2020"D; datimpg=.; end; run;
Merci d'avance pour votre aide
Partager