Visualization of datasets
Contents
Visualization of datasets¶
FIZ228 - Numerical Analysis
Dr. Emre S. Tasci, Hacettepe University
It’s always beneficial to check the data before and after we process it as it can offer some hidden relations or the picking of off values. Even though the matplotlib module offers elasticity, unfortunately it is not known for its practicality. Wrappers like the seaborn module provide functionality with ease.
“El Clasico”¶
Let’s try to do it old way, using numpy & matplotlib. As we have observed in our previous lecture, pandas were the go-to module when dealing with datasets, but for reference purposes, we’ll start with numpy arrays. As numpy arrays can not (by default) store elements of different types, our string timestamps are lost in import.
For the beginners, we are going to use the meteorological data of the Basel city, obtained from meteoblue.com
01_meteoblue_Basel_20230303T060433.csv
import numpy as np
data_np = np.genfromtxt("data/01_meteoblue_Basel_20230303T060433.csv", delimiter=',',
filling_values=0.0,skip_header=10)
data_np
array([[ 0. , 6.0602455, 94.19782 , 1.5 , 0. ,
0. ],
[ 0. , 5.5602455, 94.83262 , 3. , 0. ,
0. ],
[ 0. , 4.630245 , 96.47203 , 0.3 , 0. ,
0. ],
...,
[ 0. , 0. , 0. , 0. , 0. ,
0. ],
[ 0. , 0. , 0. , 0. , 0. ,
0. ],
[ 0. , 0. , 0. , 0. , 0. ,
0. ]])
data_np.shape
(10248, 6)
We’re going to implement meaningful indexes as the first column, by joining the year, month, day index with the hour.
Checking the timestamp of the top entries, we see that it goes from ‘20220101T0000’ to ‘20230303T2300’ (with most of the last entries being blank but we’ll deal with it later).
flag_break = False
for y in range(22,24):
if(flag_break):
break
for m in range(1,13):
if(flag_break):
break
for d in range(1,32):
if(flag_break):
break
if((m==2) & (d>28)):
continue
if((m in [2,4,6,9,11]) & (d>30)):
continue
for h in range (0,24):
print('{:2d}{:02d}{:02d}{:02d}'.format(y,m,d,h))
date = '{:2d}{:02d}{:02d}{:02d}'.format(y,m,d,h)
if(date == '23030323'):
flag_break = True
break
22010100
22010101
22010102
22010103
22010104
22010105
22010106
22010107
22010108
22010109
22010110
22010111
22010112
22010113
22010114
22010115
22010116
22010117
22010118
22010119
22010120
22010121
22010122
22010123
22010200
22010201
22010202
22010203
22010204
22010205
22010206
22010207
22010208
22010209
22010210
22010211
22010212
22010213
22010214
22010215
22010216
22010217
22010218
22010219
22010220
22010221
22010222
22010223
22010300
22010301
22010302
22010303
22010304
22010305
22010306
22010307
22010308
22010309
22010310
22010311
22010312
22010313
22010314
22010315
22010316
22010317
22010318
22010319
22010320
22010321
22010322
22010323
22010400
22010401
22010402
22010403
22010404
22010405
22010406
22010407
22010408
22010409
22010410
22010411
22010412
22010413
22010414
22010415
22010416
22010417
22010418
22010419
22010420
22010421
22010422
22010423
22010500
22010501
22010502
22010503
22010504
22010505
22010506
22010507
22010508
22010509
22010510
22010511
22010512
22010513
22010514
22010515
22010516
22010517
22010518
22010519
22010520
22010521
22010522
22010523
22010600
22010601
22010602
22010603
22010604
22010605
22010606
22010607
22010608
22010609
22010610
22010611
22010612
22010613
22010614
22010615
22010616
22010617
22010618
22010619
22010620
22010621
22010622
22010623
22010700
22010701
22010702
22010703
22010704
22010705
22010706
22010707
22010708
22010709
22010710
22010711
22010712
22010713
22010714
22010715
22010716
22010717
22010718
22010719
22010720
22010721
22010722
22010723
22010800
22010801
22010802
22010803
22010804
22010805
22010806
22010807
22010808
22010809
22010810
22010811
22010812
22010813
22010814
22010815
22010816
22010817
22010818
22010819
22010820
22010821
22010822
22010823
22010900
22010901
22010902
22010903
22010904
22010905
22010906
22010907
22010908
22010909
22010910
22010911
22010912
22010913
22010914
22010915
22010916
22010917
22010918
22010919
22010920
22010921
22010922
22010923
22011000
22011001
22011002
22011003
22011004
22011005
22011006
22011007
22011008
22011009
22011010
22011011
22011012
22011013
22011014
22011015
22011016
22011017
22011018
22011019
22011020
22011021
22011022
22011023
22011100
22011101
22011102
22011103
22011104
22011105
22011106
22011107
22011108
22011109
22011110
22011111
22011112
22011113
22011114
22011115
22011116
22011117
22011118
22011119
22011120
22011121
22011122
22011123
22011200
22011201
22011202
22011203
22011204
22011205
22011206
22011207
22011208
22011209
22011210
22011211
22011212
22011213
22011214
22011215
22011216
22011217
22011218
22011219
22011220
22011221
22011222
22011223
22011300
22011301
22011302
22011303
22011304
22011305
22011306
22011307
22011308
22011309
22011310
22011311
22011312
22011313
22011314
22011315
22011316
22011317
22011318
22011319
22011320
22011321
22011322
22011323
22011400
22011401
22011402
22011403
22011404
22011405
22011406
22011407
22011408
22011409
22011410
22011411
22011412
22011413
22011414
22011415
22011416
22011417
22011418
22011419
22011420
22011421
22011422
22011423
22011500
22011501
22011502
22011503
22011504
22011505
22011506
22011507
22011508
22011509
22011510
22011511
22011512
22011513
22011514
22011515
22011516
22011517
22011518
22011519
22011520
22011521
22011522
22011523
22011600
22011601
22011602
22011603
22011604
22011605
22011606
22011607
22011608
22011609
22011610
22011611
22011612
22011613
22011614
22011615
22011616
22011617
22011618
22011619
22011620
22011621
22011622
22011623
22011700
22011701
22011702
22011703
22011704
22011705
22011706
22011707
22011708
22011709
22011710
22011711
22011712
22011713
22011714
22011715
22011716
22011717
22011718
22011719
22011720
22011721
22011722
22011723
22011800
22011801
22011802
22011803
22011804
22011805
22011806
22011807
22011808
22011809
22011810
22011811
22011812
22011813
22011814
22011815
22011816
22011817
22011818
22011819
22011820
22011821
22011822
22011823
22011900
22011901
22011902
22011903
22011904
22011905
22011906
22011907
22011908
22011909
22011910
22011911
22011912
22011913
22011914
22011915
22011916
22011917
22011918
22011919
22011920
22011921
22011922
22011923
22012000
22012001
22012002
22012003
22012004
22012005
22012006
22012007
22012008
22012009
22012010
22012011
22012012
22012013
22012014
22012015
22012016
22012017
22012018
22012019
22012020
22012021
22012022
22012023
22012100
22012101
22012102
22012103
22012104
22012105
22012106
22012107
22012108
22012109
22012110
22012111
22012112
22012113
22012114
22012115
22012116
22012117
22012118
22012119
22012120
22012121
22012122
22012123
22012200
22012201
22012202
22012203
22012204
22012205
22012206
22012207
22012208
22012209
22012210
22012211
22012212
22012213
22012214
22012215
22012216
22012217
22012218
22012219
22012220
22012221
22012222
22012223
22012300
22012301
22012302
22012303
22012304
22012305
22012306
22012307
22012308
22012309
22012310
22012311
22012312
22012313
22012314
22012315
22012316
22012317
22012318
22012319
22012320
22012321
22012322
22012323
22012400
22012401
22012402
22012403
22012404
22012405
22012406
22012407
22012408
22012409
22012410
22012411
22012412
22012413
22012414
22012415
22012416
22012417
22012418
22012419
22012420
22012421
22012422
22012423
22012500
22012501
22012502
22012503
22012504
22012505
22012506
22012507
22012508
22012509
22012510
22012511
22012512
22012513
22012514
22012515
22012516
22012517
22012518
22012519
22012520
22012521
22012522
22012523
22012600
22012601
22012602
22012603
22012604
22012605
22012606
22012607
22012608
22012609
22012610
22012611
22012612
22012613
22012614
22012615
22012616
22012617
22012618
22012619
22012620
22012621
22012622
22012623
22012700
22012701
22012702
22012703
22012704
22012705
22012706
22012707
22012708
22012709
22012710
22012711
22012712
22012713
22012714
22012715
22012716
22012717
22012718
22012719
22012720
22012721
22012722
22012723
22012800
22012801
22012802
22012803
22012804
22012805
22012806
22012807
22012808
22012809
22012810
22012811
22012812
22012813
22012814
22012815
22012816
22012817
22012818
22012819
22012820
22012821
22012822
22012823
22012900
22012901
22012902
22012903
22012904
22012905
22012906
22012907
22012908
22012909
22012910
22012911
22012912
22012913
22012914
22012915
22012916
22012917
22012918
22012919
22012920
22012921
22012922
22012923
22013000
22013001
22013002
22013003
22013004
22013005
22013006
22013007
22013008
22013009
22013010
22013011
22013012
22013013
22013014
22013015
22013016
22013017
22013018
22013019
22013020
22013021
22013022
22013023
22013100
22013101
22013102
22013103
22013104
22013105
22013106
22013107
22013108
22013109
22013110
22013111
22013112
22013113
22013114
22013115
22013116
22013117
22013118
22013119
22013120
22013121
22013122
22013123
22020100
22020101
22020102
22020103
22020104
22020105
22020106
22020107
22020108
22020109
22020110
22020111
22020112
22020113
22020114
22020115
22020116
22020117
22020118
22020119
22020120
22020121
22020122
22020123
22020200
22020201
22020202
22020203
22020204
22020205
22020206
22020207
22020208
22020209
22020210
22020211
22020212
22020213
22020214
22020215
22020216
22020217
22020218
22020219
22020220
22020221
22020222
22020223
22020300
22020301
22020302
22020303
22020304
22020305
22020306
22020307
22020308
22020309
22020310
22020311
22020312
22020313
22020314
22020315
22020316
22020317
22020318
22020319
22020320
22020321
22020322
22020323
22020400
22020401
22020402
22020403
22020404
22020405
22020406
22020407
22020408
22020409
22020410
22020411
22020412
22020413
22020414
22020415
22020416
22020417
22020418
22020419
22020420
22020421
22020422
22020423
22020500
22020501
22020502
22020503
22020504
22020505
22020506
22020507
22020508
22020509
22020510
22020511
22020512
22020513
22020514
22020515
22020516
22020517
22020518
22020519
22020520
22020521
22020522
22020523
22020600
22020601
22020602
22020603
22020604
22020605
22020606
22020607
22020608
22020609
22020610
22020611
22020612
22020613
22020614
22020615
22020616
22020617
22020618
22020619
22020620
22020621
22020622
22020623
22020700
22020701
22020702
22020703
22020704
22020705
22020706
22020707
22020708
22020709
22020710
22020711
22020712
22020713
22020714
22020715
22020716
22020717
22020718
22020719
22020720
22020721
22020722
22020723
22020800
22020801
22020802
22020803
22020804
22020805
22020806
22020807
22020808
22020809
22020810
22020811
22020812
22020813
22020814
22020815
22020816
22020817
22020818
22020819
22020820
22020821
22020822
22020823
22020900
22020901
22020902
22020903
22020904
22020905
22020906
22020907
22020908
22020909
22020910
22020911
22020912
22020913
22020914
22020915
22020916
22020917
22020918
22020919
22020920
22020921
22020922
22020923
22021000
22021001
22021002
22021003
22021004
22021005
22021006
22021007
22021008
22021009
22021010
22021011
22021012
22021013
22021014
22021015
22021016
22021017
22021018
22021019
22021020
22021021
22021022
22021023
22021100
22021101
22021102
22021103
22021104
22021105
22021106
22021107
22021108
22021109
22021110
22021111
22021112
22021113
22021114
22021115
22021116
22021117
22021118
22021119
22021120
22021121
22021122
22021123
22021200
22021201
22021202
22021203
22021204
22021205
22021206
22021207
22021208
22021209
22021210
22021211
22021212
22021213
22021214
22021215
22021216
22021217
22021218
22021219
22021220
22021221
22021222
22021223
22021300
22021301
22021302
22021303
22021304
22021305
22021306
22021307
22021308
22021309
22021310
22021311
22021312
22021313
22021314
22021315
22021316
22021317
22021318
22021319
22021320
22021321
22021322
22021323
22021400
22021401
22021402
22021403
22021404
22021405
22021406
22021407
22021408
22021409
22021410
22021411
22021412
22021413
22021414
22021415
22021416
22021417
22021418
22021419
22021420
22021421
22021422
22021423
22021500
22021501
22021502
22021503
22021504
22021505
22021506
22021507
22021508
22021509
22021510
22021511
22021512
22021513
22021514
22021515
22021516
22021517
22021518
22021519
22021520
22021521
22021522
22021523
22021600
22021601
22021602
22021603
22021604
22021605
22021606
22021607
22021608
22021609
22021610
22021611
22021612
22021613
22021614
22021615
22021616
22021617
22021618
22021619
22021620
22021621
22021622
22021623
22021700
22021701
22021702
22021703
22021704
22021705
22021706
22021707
22021708
22021709
22021710
22021711
22021712
22021713
22021714
22021715
22021716
22021717
22021718
22021719
22021720
22021721
22021722
22021723
22021800
22021801
22021802
22021803
22021804
22021805
22021806
22021807
22021808
22021809
22021810
22021811
22021812
22021813
22021814
22021815
22021816
22021817
22021818
22021819
22021820
22021821
22021822
22021823
22021900
22021901
22021902
22021903
22021904
22021905
22021906
22021907
22021908
22021909
22021910
22021911
22021912
22021913
22021914
22021915
22021916
22021917
22021918
22021919
22021920
22021921
22021922
22021923
22022000
22022001
22022002
22022003
22022004
22022005
22022006
22022007
22022008
22022009
22022010
22022011
22022012
22022013
22022014
22022015
22022016
22022017
22022018
22022019
22022020
22022021
22022022
22022023
22022100
22022101
22022102
22022103
22022104
22022105
22022106
22022107
22022108
22022109
22022110
22022111
22022112
22022113
22022114
22022115
22022116
22022117
22022118
22022119
22022120
22022121
22022122
22022123
22022200
22022201
22022202
22022203
22022204
22022205
22022206
22022207
22022208
22022209
22022210
22022211
22022212
22022213
22022214
22022215
22022216
22022217
22022218
22022219
22022220
22022221
22022222
22022223
22022300
22022301
22022302
22022303
22022304
22022305
22022306
22022307
22022308
22022309
22022310
22022311
22022312
22022313
22022314
22022315
22022316
22022317
22022318
22022319
22022320
22022321
22022322
22022323
22022400
22022401
22022402
22022403
22022404
22022405
22022406
22022407
22022408
22022409
22022410
22022411
22022412
22022413
22022414
22022415
22022416
22022417
22022418
22022419
22022420
22022421
22022422
22022423
22022500
22022501
22022502
22022503
22022504
22022505
22022506
22022507
22022508
22022509
22022510
22022511
22022512
22022513
22022514
22022515
22022516
22022517
22022518
22022519
22022520
22022521
22022522
22022523
22022600
22022601
22022602
22022603
22022604
22022605
22022606
22022607
22022608
22022609
22022610
22022611
22022612
22022613
22022614
22022615
22022616
22022617
22022618
22022619
22022620
22022621
22022622
22022623
22022700
22022701
22022702
22022703
22022704
22022705
22022706
22022707
22022708
22022709
22022710
22022711
22022712
22022713
22022714
22022715
22022716
22022717
22022718
22022719
22022720
22022721
22022722
22022723
22022800
22022801
22022802
22022803
22022804
22022805
22022806
22022807
22022808
22022809
22022810
22022811
22022812
22022813
22022814
22022815
22022816
22022817
22022818
22022819
22022820
22022821
22022822
22022823
22030100
22030101
22030102
22030103
22030104
22030105
22030106
22030107
22030108
22030109
22030110
22030111
22030112
22030113
22030114
22030115
22030116
22030117
22030118
22030119
22030120
22030121
22030122
22030123
22030200
22030201
22030202
22030203
22030204
22030205
22030206
22030207
22030208
22030209
22030210
22030211
22030212
22030213
22030214
22030215
22030216
22030217
22030218
22030219
22030220
22030221
22030222
22030223
22030300
22030301
22030302
22030303
22030304
22030305
22030306
22030307
22030308
22030309
22030310
22030311
22030312
22030313
22030314
22030315
22030316
22030317
22030318
22030319
22030320
22030321
22030322
22030323
22030400
22030401
22030402
22030403
22030404
22030405
22030406
22030407
22030408
22030409
22030410
22030411
22030412
22030413
22030414
22030415
22030416
22030417
22030418
22030419
22030420
22030421
22030422
22030423
22030500
22030501
22030502
22030503
22030504
22030505
22030506
22030507
22030508
22030509
22030510
22030511
22030512
22030513
22030514
22030515
22030516
22030517
22030518
22030519
22030520
22030521
22030522
22030523
22030600
22030601
22030602
22030603
22030604
22030605
22030606
22030607
22030608
22030609
22030610
22030611
22030612
22030613
22030614
22030615
22030616
22030617
22030618
22030619
22030620
22030621
22030622
22030623
22030700
22030701
22030702
22030703
22030704
22030705
22030706
22030707
22030708
22030709
22030710
22030711
22030712
22030713
22030714
22030715
22030716
22030717
22030718
22030719
22030720
22030721
22030722
22030723
22030800
22030801
22030802
22030803
22030804
22030805
22030806
22030807
22030808
22030809
22030810
22030811
22030812
22030813
22030814
22030815
22030816
22030817
22030818
22030819
22030820
22030821
22030822
22030823
22030900
22030901
22030902
22030903
22030904
22030905
22030906
22030907
22030908
22030909
22030910
22030911
22030912
22030913
22030914
22030915
22030916
22030917
22030918
22030919
22030920
22030921
22030922
22030923
22031000
22031001
22031002
22031003
22031004
22031005
22031006
22031007
22031008
22031009
22031010
22031011
22031012
22031013
22031014
22031015
22031016
22031017
22031018
22031019
22031020
22031021
22031022
22031023
22031100
22031101
22031102
22031103
22031104
22031105
22031106
22031107
22031108
22031109
22031110
22031111
22031112
22031113
22031114
22031115
22031116
22031117
22031118
22031119
22031120
22031121
22031122
22031123
22031200
22031201
22031202
22031203
22031204
22031205
22031206
22031207
22031208
22031209
22031210
22031211
22031212
22031213
22031214
22031215
22031216
22031217
22031218
22031219
22031220
22031221
22031222
22031223
22031300
22031301
22031302
22031303
22031304
22031305
22031306
22031307
22031308
22031309
22031310
22031311
22031312
22031313
22031314
22031315
22031316
22031317
22031318
22031319
22031320
22031321
22031322
22031323
22031400
22031401
22031402
22031403
22031404
22031405
22031406
22031407
22031408
22031409
22031410
22031411
22031412
22031413
22031414
22031415
22031416
22031417
22031418
22031419
22031420
22031421
22031422
22031423
22031500
22031501
22031502
22031503
22031504
22031505
22031506
22031507
22031508
22031509
22031510
22031511
22031512
22031513
22031514
22031515
22031516
22031517
22031518
22031519
22031520
22031521
22031522
22031523
22031600
22031601
22031602
22031603
22031604
22031605
22031606
22031607
22031608
22031609
22031610
22031611
22031612
22031613
22031614
22031615
22031616
22031617
22031618
22031619
22031620
22031621
22031622
22031623
22031700
22031701
22031702
22031703
22031704
22031705
22031706
22031707
22031708
22031709
22031710
22031711
22031712
22031713
22031714
22031715
22031716
22031717
22031718
22031719
22031720
22031721
22031722
22031723
22031800
22031801
22031802
22031803
22031804
22031805
22031806
22031807
22031808
22031809
22031810
22031811
22031812
22031813
22031814
22031815
22031816
22031817
22031818
22031819
22031820
22031821
22031822
22031823
22031900
22031901
22031902
22031903
22031904
22031905
22031906
22031907
22031908
22031909
22031910
22031911
22031912
22031913
22031914
22031915
22031916
22031917
22031918
22031919
22031920
22031921
22031922
22031923
22032000
22032001
22032002
22032003
22032004
22032005
22032006
22032007
22032008
22032009
22032010
22032011
22032012
22032013
22032014
22032015
22032016
22032017
22032018
22032019
22032020
22032021
22032022
22032023
22032100
22032101
22032102
22032103
22032104
22032105
22032106
22032107
22032108
22032109
22032110
22032111
22032112
22032113
22032114
22032115
22032116
22032117
22032118
22032119
22032120
22032121
22032122
22032123
22032200
22032201
22032202
22032203
22032204
22032205
22032206
22032207
22032208
22032209
22032210
22032211
22032212
22032213
22032214
22032215
22032216
22032217
22032218
22032219
22032220
22032221
22032222
22032223
22032300
22032301
22032302
22032303
22032304
22032305
22032306
22032307
22032308
22032309
22032310
22032311
22032312
22032313
22032314
22032315
22032316
22032317
22032318
22032319
22032320
22032321
22032322
22032323
22032400
22032401
22032402
22032403
22032404
22032405
22032406
22032407
22032408
22032409
22032410
22032411
22032412
22032413
22032414
22032415
22032416
22032417
22032418
22032419
22032420
22032421
22032422
22032423
22032500
22032501
22032502
22032503
22032504
22032505
22032506
22032507
22032508
22032509
22032510
22032511
22032512
22032513
22032514
22032515
22032516
22032517
22032518
22032519
22032520
22032521
22032522
22032523
22032600
22032601
22032602
22032603
22032604
22032605
22032606
22032607
22032608
22032609
22032610
22032611
22032612
22032613
22032614
22032615
22032616
22032617
22032618
22032619
22032620
22032621
22032622
22032623
22032700
22032701
22032702
22032703
22032704
22032705
22032706
22032707
22032708
22032709
22032710
22032711
22032712
22032713
22032714
22032715
22032716
22032717
22032718
22032719
22032720
22032721
22032722
22032723
22032800
22032801
22032802
22032803
22032804
22032805
22032806
22032807
22032808
22032809
22032810
22032811
22032812
22032813
22032814
22032815
22032816
22032817
22032818
22032819
22032820
22032821
22032822
22032823
22032900
22032901
22032902
22032903
22032904
22032905
22032906
22032907
22032908
22032909
22032910
22032911
22032912
22032913
22032914
22032915
22032916
22032917
22032918
22032919
22032920
22032921
22032922
22032923
22033000
22033001
22033002
22033003
22033004
22033005
22033006
22033007
22033008
22033009
22033010
22033011
22033012
22033013
22033014
22033015
22033016
22033017
22033018
22033019
22033020
22033021
22033022
22033023
22033100
22033101
22033102
22033103
22033104
22033105
22033106
22033107
22033108
22033109
22033110
22033111
22033112
22033113
22033114
22033115
22033116
22033117
22033118
22033119
22033120
22033121
22033122
22033123
22040100
22040101
22040102
22040103
22040104
22040105
22040106
22040107
22040108
22040109
22040110
22040111
22040112
22040113
22040114
22040115
22040116
22040117
22040118
22040119
22040120
22040121
22040122
22040123
22040200
22040201
22040202
22040203
22040204
22040205
22040206
22040207
22040208
22040209
22040210
22040211
22040212
22040213
22040214
22040215
22040216
22040217
22040218
22040219
22040220
22040221
22040222
22040223
22040300
22040301
22040302
22040303
22040304
22040305
22040306
22040307
22040308
22040309
22040310
22040311
22040312
22040313
22040314
22040315
22040316
22040317
22040318
22040319
22040320
22040321
22040322
22040323
22040400
22040401
22040402
22040403
22040404
22040405
22040406
22040407
22040408
22040409
22040410
22040411
22040412
22040413
22040414
22040415
22040416
22040417
22040418
22040419
22040420
22040421
22040422
22040423
22040500
22040501
22040502
22040503
22040504
22040505
22040506
22040507
22040508
22040509
22040510
22040511
22040512
22040513
22040514
22040515
22040516
22040517
22040518
22040519
22040520
22040521
22040522
22040523
22040600
22040601
22040602
22040603
22040604
22040605
22040606
22040607
22040608
22040609
22040610
22040611
22040612
22040613
22040614
22040615
22040616
22040617
22040618
22040619
22040620
22040621
22040622
22040623
22040700
22040701
22040702
22040703
22040704
22040705
22040706
22040707
22040708
22040709
22040710
22040711
22040712
22040713
22040714
22040715
22040716
22040717
22040718
22040719
22040720
22040721
22040722
22040723
22040800
22040801
22040802
22040803
22040804
22040805
22040806
22040807
22040808
22040809
22040810
22040811
22040812
22040813
22040814
22040815
22040816
22040817
22040818
22040819
22040820
22040821
22040822
22040823
22040900
22040901
22040902
22040903
22040904
22040905
22040906
22040907
22040908
22040909
22040910
22040911
22040912
22040913
22040914
22040915
22040916
22040917
22040918
22040919
22040920
22040921
22040922
22040923
22041000
22041001
22041002
22041003
22041004
22041005
22041006
22041007
22041008
22041009
22041010
22041011
22041012
22041013
22041014
22041015
22041016
22041017
22041018
22041019
22041020
22041021
22041022
22041023
22041100
22041101
22041102
22041103
22041104
22041105
22041106
22041107
22041108
22041109
22041110
22041111
22041112
22041113
22041114
22041115
22041116
22041117
22041118
22041119
22041120
22041121
22041122
22041123
22041200
22041201
22041202
22041203
22041204
22041205
22041206
22041207
22041208
22041209
22041210
22041211
22041212
22041213
22041214
22041215
22041216
22041217
22041218
22041219
22041220
22041221
22041222
22041223
22041300
22041301
22041302
22041303
22041304
22041305
22041306
22041307
22041308
22041309
22041310
22041311
22041312
22041313
22041314
22041315
22041316
22041317
22041318
22041319
22041320
22041321
22041322
22041323
22041400
22041401
22041402
22041403
22041404
22041405
22041406
22041407
22041408
22041409
22041410
22041411
22041412
22041413
22041414
22041415
22041416
22041417
22041418
22041419
22041420
22041421
22041422
22041423
22041500
22041501
22041502
22041503
22041504
22041505
22041506
22041507
22041508
22041509
22041510
22041511
22041512
22041513
22041514
22041515
22041516
22041517
22041518
22041519
22041520
22041521
22041522
22041523
22041600
22041601
22041602
22041603
22041604
22041605
22041606
22041607
22041608
22041609
22041610
22041611
22041612
22041613
22041614
22041615
22041616
22041617
22041618
22041619
22041620
22041621
22041622
22041623
22041700
22041701
22041702
22041703
22041704
22041705
22041706
22041707
22041708
22041709
22041710
22041711
22041712
22041713
22041714
22041715
22041716
22041717
22041718
22041719
22041720
22041721
22041722
22041723
22041800
22041801
22041802
22041803
22041804
22041805
22041806
22041807
22041808
22041809
22041810
22041811
22041812
22041813
22041814
22041815
22041816
22041817
22041818
22041819
22041820
22041821
22041822
22041823
22041900
22041901
22041902
22041903
22041904
22041905
22041906
22041907
22041908
22041909
22041910
22041911
22041912
22041913
22041914
22041915
22041916
22041917
22041918
22041919
22041920
22041921
22041922
22041923
22042000
22042001
22042002
22042003
22042004
22042005
22042006
22042007
22042008
22042009
22042010
22042011
22042012
22042013
22042014
22042015
22042016
22042017
22042018
22042019
22042020
22042021
22042022
22042023
22042100
22042101
22042102
22042103
22042104
22042105
22042106
22042107
22042108
22042109
22042110
22042111
22042112
22042113
22042114
22042115
22042116
22042117
22042118
22042119
22042120
22042121
22042122
22042123
22042200
22042201
22042202
22042203
22042204
22042205
22042206
22042207
22042208
22042209
22042210
22042211
22042212
22042213
22042214
22042215
22042216
22042217
22042218
22042219
22042220
22042221
22042222
22042223
22042300
22042301
22042302
22042303
22042304
22042305
22042306
22042307
22042308
22042309
22042310
22042311
22042312
22042313
22042314
22042315
22042316
22042317
22042318
22042319
22042320
22042321
22042322
22042323
22042400
22042401
22042402
22042403
22042404
22042405
22042406
22042407
22042408
22042409
22042410
22042411
22042412
22042413
22042414
22042415
22042416
22042417
22042418
22042419
22042420
22042421
22042422
22042423
22042500
22042501
22042502
22042503
22042504
22042505
22042506
22042507
22042508
22042509
22042510
22042511
22042512
22042513
22042514
22042515
22042516
22042517
22042518
22042519
22042520
22042521
22042522
22042523
22042600
22042601
22042602
22042603
22042604
22042605
22042606
22042607
22042608
22042609
22042610
22042611
22042612
22042613
22042614
22042615
22042616
22042617
22042618
22042619
22042620
22042621
22042622
22042623
22042700
22042701
22042702
22042703
22042704
22042705
22042706
22042707
22042708
22042709
22042710
22042711
22042712
22042713
22042714
22042715
22042716
22042717
22042718
22042719
22042720
22042721
22042722
22042723
22042800
22042801
22042802
22042803
22042804
22042805
22042806
22042807
22042808
22042809
22042810
22042811
22042812
22042813
22042814
22042815
22042816
22042817
22042818
22042819
22042820
22042821
22042822
22042823
22042900
22042901
22042902
22042903
22042904
22042905
22042906
22042907
22042908
22042909
22042910
22042911
22042912
22042913
22042914
22042915
22042916
22042917
22042918
22042919
22042920
22042921
22042922
22042923
22043000
22043001
22043002
22043003
22043004
22043005
22043006
22043007
22043008
22043009
22043010
22043011
22043012
22043013
22043014
22043015
22043016
22043017
22043018
22043019
22043020
22043021
22043022
22043023
22050100
22050101
22050102
22050103
22050104
22050105
22050106
22050107
22050108
22050109
22050110
22050111
22050112
22050113
22050114
22050115
22050116
22050117
22050118
22050119
22050120
22050121
22050122
22050123
22050200
22050201
22050202
22050203
22050204
22050205
22050206
22050207
22050208
22050209
22050210
22050211
22050212
22050213
22050214
22050215
22050216
22050217
22050218
22050219
22050220
22050221
22050222
22050223
22050300
22050301
22050302
22050303
22050304
22050305
22050306
22050307
22050308
22050309
22050310
22050311
22050312
22050313
22050314
22050315
22050316
22050317
22050318
22050319
22050320
22050321
22050322
22050323
22050400
22050401
22050402
22050403
22050404
22050405
22050406
22050407
22050408
22050409
22050410
22050411
22050412
22050413
22050414
22050415
22050416
22050417
22050418
22050419
22050420
22050421
22050422
22050423
22050500
22050501
22050502
22050503
22050504
22050505
22050506
22050507
22050508
22050509
22050510
22050511
22050512
22050513
22050514
22050515
22050516
22050517
22050518
22050519
22050520
22050521
22050522
22050523
22050600
22050601
22050602
22050603
22050604
22050605
22050606
22050607
22050608
22050609
22050610
22050611
22050612
22050613
22050614
22050615
22050616
22050617
22050618
22050619
22050620
22050621
22050622
22050623
22050700
22050701
22050702
22050703
22050704
22050705
22050706
22050707
22050708
22050709
22050710
22050711
22050712
22050713
22050714
22050715
22050716
22050717
22050718
22050719
22050720
22050721
22050722
22050723
22050800
22050801
22050802
22050803
22050804
22050805
22050806
22050807
22050808
22050809
22050810
22050811
22050812
22050813
22050814
22050815
22050816
22050817
22050818
22050819
22050820
22050821
22050822
22050823
22050900
22050901
22050902
22050903
22050904
22050905
22050906
22050907
22050908
22050909
22050910
22050911
22050912
22050913
22050914
22050915
22050916
22050917
22050918
22050919
22050920
22050921
22050922
22050923
22051000
22051001
22051002
22051003
22051004
22051005
22051006
22051007
22051008
22051009
22051010
22051011
22051012
22051013
22051014
22051015
22051016
22051017
22051018
22051019
22051020
22051021
22051022
22051023
22051100
22051101
22051102
22051103
22051104
22051105
22051106
22051107
22051108
22051109
22051110
22051111
22051112
22051113
22051114
22051115
22051116
22051117
22051118
22051119
22051120
22051121
22051122
22051123
22051200
22051201
22051202
22051203
22051204
22051205
22051206
22051207
22051208
22051209
22051210
22051211
22051212
22051213
22051214
22051215
22051216
22051217
22051218
22051219
22051220
22051221
22051222
22051223
22051300
22051301
22051302
22051303
22051304
22051305
22051306
22051307
22051308
22051309
22051310
22051311
22051312
22051313
22051314
22051315
22051316
22051317
22051318
22051319
22051320
22051321
22051322
22051323
22051400
22051401
22051402
22051403
22051404
22051405
22051406
22051407
22051408
22051409
22051410
22051411
22051412
22051413
22051414
22051415
22051416
22051417
22051418
22051419
22051420
22051421
22051422
22051423
22051500
22051501
22051502
22051503
22051504
22051505
22051506
22051507
22051508
22051509
22051510
22051511
22051512
22051513
22051514
22051515
22051516
22051517
22051518
22051519
22051520
22051521
22051522
22051523
22051600
22051601
22051602
22051603
22051604
22051605
22051606
22051607
22051608
22051609
22051610
22051611
22051612
22051613
22051614
22051615
22051616
22051617
22051618
22051619
22051620
22051621
22051622
22051623
22051700
22051701
22051702
22051703
22051704
22051705
22051706
22051707
22051708
22051709
22051710
22051711
22051712
22051713
22051714
22051715
22051716
22051717
22051718
22051719
22051720
22051721
22051722
22051723
22051800
22051801
22051802
22051803
22051804
22051805
22051806
22051807
22051808
22051809
22051810
22051811
22051812
22051813
22051814
22051815
22051816
22051817
22051818
22051819
22051820
22051821
22051822
22051823
22051900
22051901
22051902
22051903
22051904
22051905
22051906
22051907
22051908
22051909
22051910
22051911
22051912
22051913
22051914
22051915
22051916
22051917
22051918
22051919
22051920
22051921
22051922
22051923
22052000
22052001
22052002
22052003
22052004
22052005
22052006
22052007
22052008
22052009
22052010
22052011
22052012
22052013
22052014
22052015
22052016
22052017
22052018
22052019
22052020
22052021
22052022
22052023
22052100
22052101
22052102
22052103
22052104
22052105
22052106
22052107
22052108
22052109
22052110
22052111
22052112
22052113
22052114
22052115
22052116
22052117
22052118
22052119
22052120
22052121
22052122
22052123
22052200
22052201
22052202
22052203
22052204
22052205
22052206
22052207
22052208
22052209
22052210
22052211
22052212
22052213
22052214
22052215
22052216
22052217
22052218
22052219
22052220
22052221
22052222
22052223
22052300
22052301
22052302
22052303
22052304
22052305
22052306
22052307
22052308
22052309
22052310
22052311
22052312
22052313
22052314
22052315
22052316
22052317
22052318
22052319
22052320
22052321
22052322
22052323
22052400
22052401
22052402
22052403
22052404
22052405
22052406
22052407
22052408
22052409
22052410
22052411
22052412
22052413
22052414
22052415
22052416
22052417
22052418
22052419
22052420
22052421
22052422
22052423
22052500
22052501
22052502
22052503
22052504
22052505
22052506
22052507
22052508
22052509
22052510
22052511
22052512
22052513
22052514
22052515
22052516
22052517
22052518
22052519
22052520
22052521
22052522
22052523
22052600
22052601
22052602
22052603
22052604
22052605
22052606
22052607
22052608
22052609
22052610
22052611
22052612
22052613
22052614
22052615
22052616
22052617
22052618
22052619
22052620
22052621
22052622
22052623
22052700
22052701
22052702
22052703
22052704
22052705
22052706
22052707
22052708
22052709
22052710
22052711
22052712
22052713
22052714
22052715
22052716
22052717
22052718
22052719
22052720
22052721
22052722
22052723
22052800
22052801
22052802
22052803
22052804
22052805
22052806
22052807
22052808
22052809
22052810
22052811
22052812
22052813
22052814
22052815
22052816
22052817
22052818
22052819
22052820
22052821
22052822
22052823
22052900
22052901
22052902
22052903
22052904
22052905
22052906
22052907
22052908
22052909
22052910
22052911
22052912
22052913
22052914
22052915
22052916
22052917
22052918
22052919
22052920
22052921
22052922
22052923
22053000
22053001
22053002
22053003
22053004
22053005
22053006
22053007
22053008
22053009
22053010
22053011
22053012
22053013
22053014
22053015
22053016
22053017
22053018
22053019
22053020
22053021
22053022
22053023
22053100
22053101
22053102
22053103
22053104
22053105
22053106
22053107
22053108
22053109
22053110
22053111
22053112
22053113
22053114
22053115
22053116
22053117
22053118
22053119
22053120
22053121
22053122
22053123
22060100
22060101
22060102
22060103
22060104
22060105
22060106
22060107
22060108
22060109
22060110
22060111
22060112
22060113
22060114
22060115
22060116
22060117
22060118
22060119
22060120
22060121
22060122
22060123
22060200
22060201
22060202
22060203
22060204
22060205
22060206
22060207
22060208
22060209
22060210
22060211
22060212
22060213
22060214
22060215
22060216
22060217
22060218
22060219
22060220
22060221
22060222
22060223
22060300
22060301
22060302
22060303
22060304
22060305
22060306
22060307
22060308
22060309
22060310
22060311
22060312
22060313
22060314
22060315
22060316
22060317
22060318
22060319
22060320
22060321
22060322
22060323
22060400
22060401
22060402
22060403
22060404
22060405
22060406
22060407
22060408
22060409
22060410
22060411
22060412
22060413
22060414
22060415
22060416
22060417
22060418
22060419
22060420
22060421
22060422
22060423
22060500
22060501
22060502
22060503
22060504
22060505
22060506
22060507
22060508
22060509
22060510
22060511
22060512
22060513
22060514
22060515
22060516
22060517
22060518
22060519
22060520
22060521
22060522
22060523
22060600
22060601
22060602
22060603
22060604
22060605
22060606
22060607
22060608
22060609
22060610
22060611
22060612
22060613
22060614
22060615
22060616
22060617
22060618
22060619
22060620
22060621
22060622
22060623
22060700
22060701
22060702
22060703
22060704
22060705
22060706
22060707
22060708
22060709
22060710
22060711
22060712
22060713
22060714
22060715
22060716
22060717
22060718
22060719
22060720
22060721
22060722
22060723
22060800
22060801
22060802
22060803
22060804
22060805
22060806
22060807
22060808
22060809
22060810
22060811
22060812
22060813
22060814
22060815
22060816
22060817
22060818
22060819
22060820
22060821
22060822
22060823
22060900
22060901
22060902
22060903
22060904
22060905
22060906
22060907
22060908
22060909
22060910
22060911
22060912
22060913
22060914
22060915
22060916
22060917
22060918
22060919
22060920
22060921
22060922
22060923
22061000
22061001
22061002
22061003
22061004
22061005
22061006
22061007
22061008
22061009
22061010
22061011
22061012
22061013
22061014
22061015
22061016
22061017
22061018
22061019
22061020
22061021
22061022
22061023
22061100
22061101
22061102
22061103
22061104
22061105
22061106
22061107
22061108
22061109
22061110
22061111
22061112
22061113
22061114
22061115
22061116
22061117
22061118
22061119
22061120
22061121
22061122
22061123
22061200
22061201
22061202
22061203
22061204
22061205
22061206
22061207
22061208
22061209
22061210
22061211
22061212
22061213
22061214
22061215
22061216
22061217
22061218
22061219
22061220
22061221
22061222
22061223
22061300
22061301
22061302
22061303
22061304
22061305
22061306
22061307
22061308
22061309
22061310
22061311
22061312
22061313
22061314
22061315
22061316
22061317
22061318
22061319
22061320
22061321
22061322
22061323
22061400
22061401
22061402
22061403
22061404
22061405
22061406
22061407
22061408
22061409
22061410
22061411
22061412
22061413
22061414
22061415
22061416
22061417
22061418
22061419
22061420
22061421
22061422
22061423
22061500
22061501
22061502
22061503
22061504
22061505
22061506
22061507
22061508
22061509
22061510
22061511
22061512
22061513
22061514
22061515
22061516
22061517
22061518
22061519
22061520
22061521
22061522
22061523
22061600
22061601
22061602
22061603
22061604
22061605
22061606
22061607
22061608
22061609
22061610
22061611
22061612
22061613
22061614
22061615
22061616
22061617
22061618
22061619
22061620
22061621
22061622
22061623
22061700
22061701
22061702
22061703
22061704
22061705
22061706
22061707
22061708
22061709
22061710
22061711
22061712
22061713
22061714
22061715
22061716
22061717
22061718
22061719
22061720
22061721
22061722
22061723
22061800
22061801
22061802
22061803
22061804
22061805
22061806
22061807
22061808
22061809
22061810
22061811
22061812
22061813
22061814
22061815
22061816
22061817
22061818
22061819
22061820
22061821
22061822
22061823
22061900
22061901
22061902
22061903
22061904
22061905
22061906
22061907
22061908
22061909
22061910
22061911
22061912
22061913
22061914
22061915
22061916
22061917
22061918
22061919
22061920
22061921
22061922
22061923
22062000
22062001
22062002
22062003
22062004
22062005
22062006
22062007
22062008
22062009
22062010
22062011
22062012
22062013
22062014
22062015
22062016
22062017
22062018
22062019
22062020
22062021
22062022
22062023
22062100
22062101
22062102
22062103
22062104
22062105
22062106
22062107
22062108
22062109
22062110
22062111
22062112
22062113
22062114
22062115
22062116
22062117
22062118
22062119
22062120
22062121
22062122
22062123
22062200
22062201
22062202
22062203
22062204
22062205
22062206
22062207
22062208
22062209
22062210
22062211
22062212
22062213
22062214
22062215
22062216
22062217
22062218
22062219
22062220
22062221
22062222
22062223
22062300
22062301
22062302
22062303
22062304
22062305
22062306
22062307
22062308
22062309
22062310
22062311
22062312
22062313
22062314
22062315
22062316
22062317
22062318
22062319
22062320
22062321
22062322
22062323
22062400
22062401
22062402
22062403
22062404
22062405
22062406
22062407
22062408
22062409
22062410
22062411
22062412
22062413
22062414
22062415
22062416
22062417
22062418
22062419
22062420
22062421
22062422
22062423
22062500
22062501
22062502
22062503
22062504
22062505
22062506
22062507
22062508
22062509
22062510
22062511
22062512
22062513
22062514
22062515
22062516
22062517
22062518
22062519
22062520
22062521
22062522
22062523
22062600
22062601
22062602
22062603
22062604
22062605
22062606
22062607
22062608
22062609
22062610
22062611
22062612
22062613
22062614
22062615
22062616
22062617
22062618
22062619
22062620
22062621
22062622
22062623
22062700
22062701
22062702
22062703
22062704
22062705
22062706
22062707
22062708
22062709
22062710
22062711
22062712
22062713
22062714
22062715
22062716
22062717
22062718
22062719
22062720
22062721
22062722
22062723
22062800
22062801
22062802
22062803
22062804
22062805
22062806
22062807
22062808
22062809
22062810
22062811
22062812
22062813
22062814
22062815
22062816
22062817
22062818
22062819
22062820
22062821
22062822
22062823
22062900
22062901
22062902
22062903
22062904
22062905
22062906
22062907
22062908
22062909
22062910
22062911
22062912
22062913
22062914
22062915
22062916
22062917
22062918
22062919
22062920
22062921
22062922
22062923
22063000
22063001
22063002
22063003
22063004
22063005
22063006
22063007
22063008
22063009
22063010
22063011
22063012
22063013
22063014
22063015
22063016
22063017
22063018
22063019
22063020
22063021
22063022
22063023
22070100
22070101
22070102
22070103
22070104
22070105
22070106
22070107
22070108
22070109
22070110
22070111
22070112
22070113
22070114
22070115
22070116
22070117
22070118
22070119
22070120
22070121
22070122
22070123
22070200
22070201
22070202
22070203
22070204
22070205
22070206
22070207
22070208
22070209
22070210
22070211
22070212
22070213
22070214
22070215
22070216
22070217
22070218
22070219
22070220
22070221
22070222
22070223
22070300
22070301
22070302
22070303
22070304
22070305
22070306
22070307
22070308
22070309
22070310
22070311
22070312
22070313
22070314
22070315
22070316
22070317
22070318
22070319
22070320
22070321
22070322
22070323
22070400
22070401
22070402
22070403
22070404
22070405
22070406
22070407
22070408
22070409
22070410
22070411
22070412
22070413
22070414
22070415
22070416
22070417
22070418
22070419
22070420
22070421
22070422
22070423
22070500
22070501
22070502
22070503
22070504
22070505
22070506
22070507
22070508
22070509
22070510
22070511
22070512
22070513
22070514
22070515
22070516
22070517
22070518
22070519
22070520
22070521
22070522
22070523
22070600
22070601
22070602
22070603
22070604
22070605
22070606
22070607
22070608
22070609
22070610
22070611
22070612
22070613
22070614
22070615
22070616
22070617
22070618
22070619
22070620
22070621
22070622
22070623
22070700
22070701
22070702
22070703
22070704
22070705
22070706
22070707
22070708
22070709
22070710
22070711
22070712
22070713
22070714
22070715
22070716
22070717
22070718
22070719
22070720
22070721
22070722
22070723
22070800
22070801
22070802
22070803
22070804
22070805
22070806
22070807
22070808
22070809
22070810
22070811
22070812
22070813
22070814
22070815
22070816
22070817
22070818
22070819
22070820
22070821
22070822
22070823
22070900
22070901
22070902
22070903
22070904
22070905
22070906
22070907
22070908
22070909
22070910
22070911
22070912
22070913
22070914
22070915
22070916
22070917
22070918
22070919
22070920
22070921
22070922
22070923
22071000
22071001
22071002
22071003
22071004
22071005
22071006
22071007
22071008
22071009
22071010
22071011
22071012
22071013
22071014
22071015
22071016
22071017
22071018
22071019
22071020
22071021
22071022
22071023
22071100
22071101
22071102
22071103
22071104
22071105
22071106
22071107
22071108
22071109
22071110
22071111
22071112
22071113
22071114
22071115
22071116
22071117
22071118
22071119
22071120
22071121
22071122
22071123
22071200
22071201
22071202
22071203
22071204
22071205
22071206
22071207
22071208
22071209
22071210
22071211
22071212
22071213
22071214
22071215
22071216
22071217
22071218
22071219
22071220
22071221
22071222
22071223
22071300
22071301
22071302
22071303
22071304
22071305
22071306
22071307
22071308
22071309
22071310
22071311
22071312
22071313
22071314
22071315
22071316
22071317
22071318
22071319
22071320
22071321
22071322
22071323
22071400
22071401
22071402
22071403
22071404
22071405
22071406
22071407
22071408
22071409
22071410
22071411
22071412
22071413
22071414
22071415
22071416
22071417
22071418
22071419
22071420
22071421
22071422
22071423
22071500
22071501
22071502
22071503
22071504
22071505
22071506
22071507
22071508
22071509
22071510
22071511
22071512
22071513
22071514
22071515
22071516
22071517
22071518
22071519
22071520
22071521
22071522
22071523
22071600
22071601
22071602
22071603
22071604
22071605
22071606
22071607
22071608
22071609
22071610
22071611
22071612
22071613
22071614
22071615
22071616
22071617
22071618
22071619
22071620
22071621
22071622
22071623
22071700
22071701
22071702
22071703
22071704
22071705
22071706
22071707
22071708
22071709
22071710
22071711
22071712
22071713
22071714
22071715
22071716
22071717
22071718
22071719
22071720
22071721
22071722
22071723
22071800
22071801
22071802
22071803
22071804
22071805
22071806
22071807
22071808
22071809
22071810
22071811
22071812
22071813
22071814
22071815
22071816
22071817
22071818
22071819
22071820
22071821
22071822
22071823
22071900
22071901
22071902
22071903
22071904
22071905
22071906
22071907
22071908
22071909
22071910
22071911
22071912
22071913
22071914
22071915
22071916
22071917
22071918
22071919
22071920
22071921
22071922
22071923
22072000
22072001
22072002
22072003
22072004
22072005
22072006
22072007
22072008
22072009
22072010
22072011
22072012
22072013
22072014
22072015
22072016
22072017
22072018
22072019
22072020
22072021
22072022
22072023
22072100
22072101
22072102
22072103
22072104
22072105
22072106
22072107
22072108
22072109
22072110
22072111
22072112
22072113
22072114
22072115
22072116
22072117
22072118
22072119
22072120
22072121
22072122
22072123
22072200
22072201
22072202
22072203
22072204
22072205
22072206
22072207
22072208
22072209
22072210
22072211
22072212
22072213
22072214
22072215
22072216
22072217
22072218
22072219
22072220
22072221
22072222
22072223
22072300
22072301
22072302
22072303
22072304
22072305
22072306
22072307
22072308
22072309
22072310
22072311
22072312
22072313
22072314
22072315
22072316
22072317
22072318
22072319
22072320
22072321
22072322
22072323
22072400
22072401
22072402
22072403
22072404
22072405
22072406
22072407
22072408
22072409
22072410
22072411
22072412
22072413
22072414
22072415
22072416
22072417
22072418
22072419
22072420
22072421
22072422
22072423
22072500
22072501
22072502
22072503
22072504
22072505
22072506
22072507
22072508
22072509
22072510
22072511
22072512
22072513
22072514
22072515
22072516
22072517
22072518
22072519
22072520
22072521
22072522
22072523
22072600
22072601
22072602
22072603
22072604
22072605
22072606
22072607
22072608
22072609
22072610
22072611
22072612
22072613
22072614
22072615
22072616
22072617
22072618
22072619
22072620
22072621
22072622
22072623
22072700
22072701
22072702
22072703
22072704
22072705
22072706
22072707
22072708
22072709
22072710
22072711
22072712
22072713
22072714
22072715
22072716
22072717
22072718
22072719
22072720
22072721
22072722
22072723
22072800
22072801
22072802
22072803
22072804
22072805
22072806
22072807
22072808
22072809
22072810
22072811
22072812
22072813
22072814
22072815
22072816
22072817
22072818
22072819
22072820
22072821
22072822
22072823
22072900
22072901
22072902
22072903
22072904
22072905
22072906
22072907
22072908
22072909
22072910
22072911
22072912
22072913
22072914
22072915
22072916
22072917
22072918
22072919
22072920
22072921
22072922
22072923
22073000
22073001
22073002
22073003
22073004
22073005
22073006
22073007
22073008
22073009
22073010
22073011
22073012
22073013
22073014
22073015
22073016
22073017
22073018
22073019
22073020
22073021
22073022
22073023
22073100
22073101
22073102
22073103
22073104
22073105
22073106
22073107
22073108
22073109
22073110
22073111
22073112
22073113
22073114
22073115
22073116
22073117
22073118
22073119
22073120
22073121
22073122
22073123
22080100
22080101
22080102
22080103
22080104
22080105
22080106
22080107
22080108
22080109
22080110
22080111
22080112
22080113
22080114
22080115
22080116
22080117
22080118
22080119
22080120
22080121
22080122
22080123
22080200
22080201
22080202
22080203
22080204
22080205
22080206
22080207
22080208
22080209
22080210
22080211
22080212
22080213
22080214
22080215
22080216
22080217
22080218
22080219
22080220
22080221
22080222
22080223
22080300
22080301
22080302
22080303
22080304
22080305
22080306
22080307
22080308
22080309
22080310
22080311
22080312
22080313
22080314
22080315
22080316
22080317
22080318
22080319
22080320
22080321
22080322
22080323
22080400
22080401
22080402
22080403
22080404
22080405
22080406
22080407
22080408
22080409
22080410
22080411
22080412
22080413
22080414
22080415
22080416
22080417
22080418
22080419
22080420
22080421
22080422
22080423
22080500
22080501
22080502
22080503
22080504
22080505
22080506
22080507
22080508
22080509
22080510
22080511
22080512
22080513
22080514
22080515
22080516
22080517
22080518
22080519
22080520
22080521
22080522
22080523
22080600
22080601
22080602
22080603
22080604
22080605
22080606
22080607
22080608
22080609
22080610
22080611
22080612
22080613
22080614
22080615
22080616
22080617
22080618
22080619
22080620
22080621
22080622
22080623
22080700
22080701
22080702
22080703
22080704
22080705
22080706
22080707
22080708
22080709
22080710
22080711
22080712
22080713
22080714
22080715
22080716
22080717
22080718
22080719
22080720
22080721
22080722
22080723
22080800
22080801
22080802
22080803
22080804
22080805
22080806
22080807
22080808
22080809
22080810
22080811
22080812
22080813
22080814
22080815
22080816
22080817
22080818
22080819
22080820
22080821
22080822
22080823
22080900
22080901
22080902
22080903
22080904
22080905
22080906
22080907
22080908
22080909
22080910
22080911
22080912
22080913
22080914
22080915
22080916
22080917
22080918
22080919
22080920
22080921
22080922
22080923
22081000
22081001
22081002
22081003
22081004
22081005
22081006
22081007
22081008
22081009
22081010
22081011
22081012
22081013
22081014
22081015
22081016
22081017
22081018
22081019
22081020
22081021
22081022
22081023
22081100
22081101
22081102
22081103
22081104
22081105
22081106
22081107
22081108
22081109
22081110
22081111
22081112
22081113
22081114
22081115
22081116
22081117
22081118
22081119
22081120
22081121
22081122
22081123
22081200
22081201
22081202
22081203
22081204
22081205
22081206
22081207
22081208
22081209
22081210
22081211
22081212
22081213
22081214
22081215
22081216
22081217
22081218
22081219
22081220
22081221
22081222
22081223
22081300
22081301
22081302
22081303
22081304
22081305
22081306
22081307
22081308
22081309
22081310
22081311
22081312
22081313
22081314
22081315
22081316
22081317
22081318
22081319
22081320
22081321
22081322
22081323
22081400
22081401
22081402
22081403
22081404
22081405
22081406
22081407
22081408
22081409
22081410
22081411
22081412
22081413
22081414
22081415
22081416
22081417
22081418
22081419
22081420
22081421
22081422
22081423
22081500
22081501
22081502
22081503
22081504
22081505
22081506
22081507
22081508
22081509
22081510
22081511
22081512
22081513
22081514
22081515
22081516
22081517
22081518
22081519
22081520
22081521
22081522
22081523
22081600
22081601
22081602
22081603
22081604
22081605
22081606
22081607
22081608
22081609
22081610
22081611
22081612
22081613
22081614
22081615
22081616
22081617
22081618
22081619
22081620
22081621
22081622
22081623
22081700
22081701
22081702
22081703
22081704
22081705
22081706
22081707
22081708
22081709
22081710
22081711
22081712
22081713
22081714
22081715
22081716
22081717
22081718
22081719
22081720
22081721
22081722
22081723
22081800
22081801
22081802
22081803
22081804
22081805
22081806
22081807
22081808
22081809
22081810
22081811
22081812
22081813
22081814
22081815
22081816
22081817
22081818
22081819
22081820
22081821
22081822
22081823
22081900
22081901
22081902
22081903
22081904
22081905
22081906
22081907
22081908
22081909
22081910
22081911
22081912
22081913
22081914
22081915
22081916
22081917
22081918
22081919
22081920
22081921
22081922
22081923
22082000
22082001
22082002
22082003
22082004
22082005
22082006
22082007
22082008
22082009
22082010
22082011
22082012
22082013
22082014
22082015
22082016
22082017
22082018
22082019
22082020
22082021
22082022
22082023
22082100
22082101
22082102
22082103
22082104
22082105
22082106
22082107
22082108
22082109
22082110
22082111
22082112
22082113
22082114
22082115
22082116
22082117
22082118
22082119
22082120
22082121
22082122
22082123
22082200
22082201
22082202
22082203
22082204
22082205
22082206
22082207
22082208
22082209
22082210
22082211
22082212
22082213
22082214
22082215
22082216
22082217
22082218
22082219
22082220
22082221
22082222
22082223
22082300
22082301
22082302
22082303
22082304
22082305
22082306
22082307
22082308
22082309
22082310
22082311
22082312
22082313
22082314
22082315
22082316
22082317
22082318
22082319
22082320
22082321
22082322
22082323
22082400
22082401
22082402
22082403
22082404
22082405
22082406
22082407
22082408
22082409
22082410
22082411
22082412
22082413
22082414
22082415
22082416
22082417
22082418
22082419
22082420
22082421
22082422
22082423
22082500
22082501
22082502
22082503
22082504
22082505
22082506
22082507
22082508
22082509
22082510
22082511
22082512
22082513
22082514
22082515
22082516
22082517
22082518
22082519
22082520
22082521
22082522
22082523
22082600
22082601
22082602
22082603
22082604
22082605
22082606
22082607
22082608
22082609
22082610
22082611
22082612
22082613
22082614
22082615
22082616
22082617
22082618
22082619
22082620
22082621
22082622
22082623
22082700
22082701
22082702
22082703
22082704
22082705
22082706
22082707
22082708
22082709
22082710
22082711
22082712
22082713
22082714
22082715
22082716
22082717
22082718
22082719
22082720
22082721
22082722
22082723
22082800
22082801
22082802
22082803
22082804
22082805
22082806
22082807
22082808
22082809
22082810
22082811
22082812
22082813
22082814
22082815
22082816
22082817
22082818
22082819
22082820
22082821
22082822
22082823
22082900
22082901
22082902
22082903
22082904
22082905
22082906
22082907
22082908
22082909
22082910
22082911
22082912
22082913
22082914
22082915
22082916
22082917
22082918
22082919
22082920
22082921
22082922
22082923
22083000
22083001
22083002
22083003
22083004
22083005
22083006
22083007
22083008
22083009
22083010
22083011
22083012
22083013
22083014
22083015
22083016
22083017
22083018
22083019
22083020
22083021
22083022
22083023
22083100
22083101
22083102
22083103
22083104
22083105
22083106
22083107
22083108
22083109
22083110
22083111
22083112
22083113
22083114
22083115
22083116
22083117
22083118
22083119
22083120
22083121
22083122
22083123
22090100
22090101
22090102
22090103
22090104
22090105
22090106
22090107
22090108
22090109
22090110
22090111
22090112
22090113
22090114
22090115
22090116
22090117
22090118
22090119
22090120
22090121
22090122
22090123
22090200
22090201
22090202
22090203
22090204
22090205
22090206
22090207
22090208
22090209
22090210
22090211
22090212
22090213
22090214
22090215
22090216
22090217
22090218
22090219
22090220
22090221
22090222
22090223
22090300
22090301
22090302
22090303
22090304
22090305
22090306
22090307
22090308
22090309
22090310
22090311
22090312
22090313
22090314
22090315
22090316
22090317
22090318
22090319
22090320
22090321
22090322
22090323
22090400
22090401
22090402
22090403
22090404
22090405
22090406
22090407
22090408
22090409
22090410
22090411
22090412
22090413
22090414
22090415
22090416
22090417
22090418
22090419
22090420
22090421
22090422
22090423
22090500
22090501
22090502
22090503
22090504
22090505
22090506
22090507
22090508
22090509
22090510
22090511
22090512
22090513
22090514
22090515
22090516
22090517
22090518
22090519
22090520
22090521
22090522
22090523
22090600
22090601
22090602
22090603
22090604
22090605
22090606
22090607
22090608
22090609
22090610
22090611
22090612
22090613
22090614
22090615
22090616
22090617
22090618
22090619
22090620
22090621
22090622
22090623
22090700
22090701
22090702
22090703
22090704
22090705
22090706
22090707
22090708
22090709
22090710
22090711
22090712
22090713
22090714
22090715
22090716
22090717
22090718
22090719
22090720
22090721
22090722
22090723
22090800
22090801
22090802
22090803
22090804
22090805
22090806
22090807
22090808
22090809
22090810
22090811
22090812
22090813
22090814
22090815
22090816
22090817
22090818
22090819
22090820
22090821
22090822
22090823
22090900
22090901
22090902
22090903
22090904
22090905
22090906
22090907
22090908
22090909
22090910
22090911
22090912
22090913
22090914
22090915
22090916
22090917
22090918
22090919
22090920
22090921
22090922
22090923
22091000
22091001
22091002
22091003
22091004
22091005
22091006
22091007
22091008
22091009
22091010
22091011
22091012
22091013
22091014
22091015
22091016
22091017
22091018
22091019
22091020
22091021
22091022
22091023
22091100
22091101
22091102
22091103
22091104
22091105
22091106
22091107
22091108
22091109
22091110
22091111
22091112
22091113
22091114
22091115
22091116
22091117
22091118
22091119
22091120
22091121
22091122
22091123
22091200
22091201
22091202
22091203
22091204
22091205
22091206
22091207
22091208
22091209
22091210
22091211
22091212
22091213
22091214
22091215
22091216
22091217
22091218
22091219
22091220
22091221
22091222
22091223
22091300
22091301
22091302
22091303
22091304
22091305
22091306
22091307
22091308
22091309
22091310
22091311
22091312
22091313
22091314
22091315
22091316
22091317
22091318
22091319
22091320
22091321
22091322
22091323
22091400
22091401
22091402
22091403
22091404
22091405
22091406
22091407
22091408
22091409
22091410
22091411
22091412
22091413
22091414
22091415
22091416
22091417
22091418
22091419
22091420
22091421
22091422
22091423
22091500
22091501
22091502
22091503
22091504
22091505
22091506
22091507
22091508
22091509
22091510
22091511
22091512
22091513
22091514
22091515
22091516
22091517
22091518
22091519
22091520
22091521
22091522
22091523
22091600
22091601
22091602
22091603
22091604
22091605
22091606
22091607
22091608
22091609
22091610
22091611
22091612
22091613
22091614
22091615
22091616
22091617
22091618
22091619
22091620
22091621
22091622
22091623
22091700
22091701
22091702
22091703
22091704
22091705
22091706
22091707
22091708
22091709
22091710
22091711
22091712
22091713
22091714
22091715
22091716
22091717
22091718
22091719
22091720
22091721
22091722
22091723
22091800
22091801
22091802
22091803
22091804
22091805
22091806
22091807
22091808
22091809
22091810
22091811
22091812
22091813
22091814
22091815
22091816
22091817
22091818
22091819
22091820
22091821
22091822
22091823
22091900
22091901
22091902
22091903
22091904
22091905
22091906
22091907
22091908
22091909
22091910
22091911
22091912
22091913
22091914
22091915
22091916
22091917
22091918
22091919
22091920
22091921
22091922
22091923
22092000
22092001
22092002
22092003
22092004
22092005
22092006
22092007
22092008
22092009
22092010
22092011
22092012
22092013
22092014
22092015
22092016
22092017
22092018
22092019
22092020
22092021
22092022
22092023
22092100
22092101
22092102
22092103
22092104
22092105
22092106
22092107
22092108
22092109
22092110
22092111
22092112
22092113
22092114
22092115
22092116
22092117
22092118
22092119
22092120
22092121
22092122
22092123
22092200
22092201
22092202
22092203
22092204
22092205
22092206
22092207
22092208
22092209
22092210
22092211
22092212
22092213
22092214
22092215
22092216
22092217
22092218
22092219
22092220
22092221
22092222
22092223
22092300
22092301
22092302
22092303
22092304
22092305
22092306
22092307
22092308
22092309
22092310
22092311
22092312
22092313
22092314
22092315
22092316
22092317
22092318
22092319
22092320
22092321
22092322
22092323
22092400
22092401
22092402
22092403
22092404
22092405
22092406
22092407
22092408
22092409
22092410
22092411
22092412
22092413
22092414
22092415
22092416
22092417
22092418
22092419
22092420
22092421
22092422
22092423
22092500
22092501
22092502
22092503
22092504
22092505
22092506
22092507
22092508
22092509
22092510
22092511
22092512
22092513
22092514
22092515
22092516
22092517
22092518
22092519
22092520
22092521
22092522
22092523
22092600
22092601
22092602
22092603
22092604
22092605
22092606
22092607
22092608
22092609
22092610
22092611
22092612
22092613
22092614
22092615
22092616
22092617
22092618
22092619
22092620
22092621
22092622
22092623
22092700
22092701
22092702
22092703
22092704
22092705
22092706
22092707
22092708
22092709
22092710
22092711
22092712
22092713
22092714
22092715
22092716
22092717
22092718
22092719
22092720
22092721
22092722
22092723
22092800
22092801
22092802
22092803
22092804
22092805
22092806
22092807
22092808
22092809
22092810
22092811
22092812
22092813
22092814
22092815
22092816
22092817
22092818
22092819
22092820
22092821
22092822
22092823
22092900
22092901
22092902
22092903
22092904
22092905
22092906
22092907
22092908
22092909
22092910
22092911
22092912
22092913
22092914
22092915
22092916
22092917
22092918
22092919
22092920
22092921
22092922
22092923
22093000
22093001
22093002
22093003
22093004
22093005
22093006
22093007
22093008
22093009
22093010
22093011
22093012
22093013
22093014
22093015
22093016
22093017
22093018
22093019
22093020
22093021
22093022
22093023
22100100
22100101
22100102
22100103
22100104
22100105
22100106
22100107
22100108
22100109
22100110
22100111
22100112
22100113
22100114
22100115
22100116
22100117
22100118
22100119
22100120
22100121
22100122
22100123
22100200
22100201
22100202
22100203
22100204
22100205
22100206
22100207
22100208
22100209
22100210
22100211
22100212
22100213
22100214
22100215
22100216
22100217
22100218
22100219
22100220
22100221
22100222
22100223
22100300
22100301
22100302
22100303
22100304
22100305
22100306
22100307
22100308
22100309
22100310
22100311
22100312
22100313
22100314
22100315
22100316
22100317
22100318
22100319
22100320
22100321
22100322
22100323
22100400
22100401
22100402
22100403
22100404
22100405
22100406
22100407
22100408
22100409
22100410
22100411
22100412
22100413
22100414
22100415
22100416
22100417
22100418
22100419
22100420
22100421
22100422
22100423
22100500
22100501
22100502
22100503
22100504
22100505
22100506
22100507
22100508
22100509
22100510
22100511
22100512
22100513
22100514
22100515
22100516
22100517
22100518
22100519
22100520
22100521
22100522
22100523
22100600
22100601
22100602
22100603
22100604
22100605
22100606
22100607
22100608
22100609
22100610
22100611
22100612
22100613
22100614
22100615
22100616
22100617
22100618
22100619
22100620
22100621
22100622
22100623
22100700
22100701
22100702
22100703
22100704
22100705
22100706
22100707
22100708
22100709
22100710
22100711
22100712
22100713
22100714
22100715
22100716
22100717
22100718
22100719
22100720
22100721
22100722
22100723
22100800
22100801
22100802
22100803
22100804
22100805
22100806
22100807
22100808
22100809
22100810
22100811
22100812
22100813
22100814
22100815
22100816
22100817
22100818
22100819
22100820
22100821
22100822
22100823
22100900
22100901
22100902
22100903
22100904
22100905
22100906
22100907
22100908
22100909
22100910
22100911
22100912
22100913
22100914
22100915
22100916
22100917
22100918
22100919
22100920
22100921
22100922
22100923
22101000
22101001
22101002
22101003
22101004
22101005
22101006
22101007
22101008
22101009
22101010
22101011
22101012
22101013
22101014
22101015
22101016
22101017
22101018
22101019
22101020
22101021
22101022
22101023
22101100
22101101
22101102
22101103
22101104
22101105
22101106
22101107
22101108
22101109
22101110
22101111
22101112
22101113
22101114
22101115
22101116
22101117
22101118
22101119
22101120
22101121
22101122
22101123
22101200
22101201
22101202
22101203
22101204
22101205
22101206
22101207
22101208
22101209
22101210
22101211
22101212
22101213
22101214
22101215
22101216
22101217
22101218
22101219
22101220
22101221
22101222
22101223
22101300
22101301
22101302
22101303
22101304
22101305
22101306
22101307
22101308
22101309
22101310
22101311
22101312
22101313
22101314
22101315
22101316
22101317
22101318
22101319
22101320
22101321
22101322
22101323
22101400
22101401
22101402
22101403
22101404
22101405
22101406
22101407
22101408
22101409
22101410
22101411
22101412
22101413
22101414
22101415
22101416
22101417
22101418
22101419
22101420
22101421
22101422
22101423
22101500
22101501
22101502
22101503
22101504
22101505
22101506
22101507
22101508
22101509
22101510
22101511
22101512
22101513
22101514
22101515
22101516
22101517
22101518
22101519
22101520
22101521
22101522
22101523
22101600
22101601
22101602
22101603
22101604
22101605
22101606
22101607
22101608
22101609
22101610
22101611
22101612
22101613
22101614
22101615
22101616
22101617
22101618
22101619
22101620
22101621
22101622
22101623
22101700
22101701
22101702
22101703
22101704
22101705
22101706
22101707
22101708
22101709
22101710
22101711
22101712
22101713
22101714
22101715
22101716
22101717
22101718
22101719
22101720
22101721
22101722
22101723
22101800
22101801
22101802
22101803
22101804
22101805
22101806
22101807
22101808
22101809
22101810
22101811
22101812
22101813
22101814
22101815
22101816
22101817
22101818
22101819
22101820
22101821
22101822
22101823
22101900
22101901
22101902
22101903
22101904
22101905
22101906
22101907
22101908
22101909
22101910
22101911
22101912
22101913
22101914
22101915
22101916
22101917
22101918
22101919
22101920
22101921
22101922
22101923
22102000
22102001
22102002
22102003
22102004
22102005
22102006
22102007
22102008
22102009
22102010
22102011
22102012
22102013
22102014
22102015
22102016
22102017
22102018
22102019
22102020
22102021
22102022
22102023
22102100
22102101
22102102
22102103
22102104
22102105
22102106
22102107
22102108
22102109
22102110
22102111
22102112
22102113
22102114
22102115
22102116
22102117
22102118
22102119
22102120
22102121
22102122
22102123
22102200
22102201
22102202
22102203
22102204
22102205
22102206
22102207
22102208
22102209
22102210
22102211
22102212
22102213
22102214
22102215
22102216
22102217
22102218
22102219
22102220
22102221
22102222
22102223
22102300
22102301
22102302
22102303
22102304
22102305
22102306
22102307
22102308
22102309
22102310
22102311
22102312
22102313
22102314
22102315
22102316
22102317
22102318
22102319
22102320
22102321
22102322
22102323
22102400
22102401
22102402
22102403
22102404
22102405
22102406
22102407
22102408
22102409
22102410
22102411
22102412
22102413
22102414
22102415
22102416
22102417
22102418
22102419
22102420
22102421
22102422
22102423
22102500
22102501
22102502
22102503
22102504
22102505
22102506
22102507
22102508
22102509
22102510
22102511
22102512
22102513
22102514
22102515
22102516
22102517
22102518
22102519
22102520
22102521
22102522
22102523
22102600
22102601
22102602
22102603
22102604
22102605
22102606
22102607
22102608
22102609
22102610
22102611
22102612
22102613
22102614
22102615
22102616
22102617
22102618
22102619
22102620
22102621
22102622
22102623
22102700
22102701
22102702
22102703
22102704
22102705
22102706
22102707
22102708
22102709
22102710
22102711
22102712
22102713
22102714
22102715
22102716
22102717
22102718
22102719
22102720
22102721
22102722
22102723
22102800
22102801
22102802
22102803
22102804
22102805
22102806
22102807
22102808
22102809
22102810
22102811
22102812
22102813
22102814
22102815
22102816
22102817
22102818
22102819
22102820
22102821
22102822
22102823
22102900
22102901
22102902
22102903
22102904
22102905
22102906
22102907
22102908
22102909
22102910
22102911
22102912
22102913
22102914
22102915
22102916
22102917
22102918
22102919
22102920
22102921
22102922
22102923
22103000
22103001
22103002
22103003
22103004
22103005
22103006
22103007
22103008
22103009
22103010
22103011
22103012
22103013
22103014
22103015
22103016
22103017
22103018
22103019
22103020
22103021
22103022
22103023
22103100
22103101
22103102
22103103
22103104
22103105
22103106
22103107
22103108
22103109
22103110
22103111
22103112
22103113
22103114
22103115
22103116
22103117
22103118
22103119
22103120
22103121
22103122
22103123
22110100
22110101
22110102
22110103
22110104
22110105
22110106
22110107
22110108
22110109
22110110
22110111
22110112
22110113
22110114
22110115
22110116
22110117
22110118
22110119
22110120
22110121
22110122
22110123
22110200
22110201
22110202
22110203
22110204
22110205
22110206
22110207
22110208
22110209
22110210
22110211
22110212
22110213
22110214
22110215
22110216
22110217
22110218
22110219
22110220
22110221
22110222
22110223
22110300
22110301
22110302
22110303
22110304
22110305
22110306
22110307
22110308
22110309
22110310
22110311
22110312
22110313
22110314
22110315
22110316
22110317
22110318
22110319
22110320
22110321
22110322
22110323
22110400
22110401
22110402
22110403
22110404
22110405
22110406
22110407
22110408
22110409
22110410
22110411
22110412
22110413
22110414
22110415
22110416
22110417
22110418
22110419
22110420
22110421
22110422
22110423
22110500
22110501
22110502
22110503
22110504
22110505
22110506
22110507
22110508
22110509
22110510
22110511
22110512
22110513
22110514
22110515
22110516
22110517
22110518
22110519
22110520
22110521
22110522
22110523
22110600
22110601
22110602
22110603
22110604
22110605
22110606
22110607
22110608
22110609
22110610
22110611
22110612
22110613
22110614
22110615
22110616
22110617
22110618
22110619
22110620
22110621
22110622
22110623
22110700
22110701
22110702
22110703
22110704
22110705
22110706
22110707
22110708
22110709
22110710
22110711
22110712
22110713
22110714
22110715
22110716
22110717
22110718
22110719
22110720
22110721
22110722
22110723
22110800
22110801
22110802
22110803
22110804
22110805
22110806
22110807
22110808
22110809
22110810
22110811
22110812
22110813
22110814
22110815
22110816
22110817
22110818
22110819
22110820
22110821
22110822
22110823
22110900
22110901
22110902
22110903
22110904
22110905
22110906
22110907
22110908
22110909
22110910
22110911
22110912
22110913
22110914
22110915
22110916
22110917
22110918
22110919
22110920
22110921
22110922
22110923
22111000
22111001
22111002
22111003
22111004
22111005
22111006
22111007
22111008
22111009
22111010
22111011
22111012
22111013
22111014
22111015
22111016
22111017
22111018
22111019
22111020
22111021
22111022
22111023
22111100
22111101
22111102
22111103
22111104
22111105
22111106
22111107
22111108
22111109
22111110
22111111
22111112
22111113
22111114
22111115
22111116
22111117
22111118
22111119
22111120
22111121
22111122
22111123
22111200
22111201
22111202
22111203
22111204
22111205
22111206
22111207
22111208
22111209
22111210
22111211
22111212
22111213
22111214
22111215
22111216
22111217
22111218
22111219
22111220
22111221
22111222
22111223
22111300
22111301
22111302
22111303
22111304
22111305
22111306
22111307
22111308
22111309
22111310
22111311
22111312
22111313
22111314
22111315
22111316
22111317
22111318
22111319
22111320
22111321
22111322
22111323
22111400
22111401
22111402
22111403
22111404
22111405
22111406
22111407
22111408
22111409
22111410
22111411
22111412
22111413
22111414
22111415
22111416
22111417
22111418
22111419
22111420
22111421
22111422
22111423
22111500
22111501
22111502
22111503
22111504
22111505
22111506
22111507
22111508
22111509
22111510
22111511
22111512
22111513
22111514
22111515
22111516
22111517
22111518
22111519
22111520
22111521
22111522
22111523
22111600
22111601
22111602
22111603
22111604
22111605
22111606
22111607
22111608
22111609
22111610
22111611
22111612
22111613
22111614
22111615
22111616
22111617
22111618
22111619
22111620
22111621
22111622
22111623
22111700
22111701
22111702
22111703
22111704
22111705
22111706
22111707
22111708
22111709
22111710
22111711
22111712
22111713
22111714
22111715
22111716
22111717
22111718
22111719
22111720
22111721
22111722
22111723
22111800
22111801
22111802
22111803
22111804
22111805
22111806
22111807
22111808
22111809
22111810
22111811
22111812
22111813
22111814
22111815
22111816
22111817
22111818
22111819
22111820
22111821
22111822
22111823
22111900
22111901
22111902
22111903
22111904
22111905
22111906
22111907
22111908
22111909
22111910
22111911
22111912
22111913
22111914
22111915
22111916
22111917
22111918
22111919
22111920
22111921
22111922
22111923
22112000
22112001
22112002
22112003
22112004
22112005
22112006
22112007
22112008
22112009
22112010
22112011
22112012
22112013
22112014
22112015
22112016
22112017
22112018
22112019
22112020
22112021
22112022
22112023
22112100
22112101
22112102
22112103
22112104
22112105
22112106
22112107
22112108
22112109
22112110
22112111
22112112
22112113
22112114
22112115
22112116
22112117
22112118
22112119
22112120
22112121
22112122
22112123
22112200
22112201
22112202
22112203
22112204
22112205
22112206
22112207
22112208
22112209
22112210
22112211
22112212
22112213
22112214
22112215
22112216
22112217
22112218
22112219
22112220
22112221
22112222
22112223
22112300
22112301
22112302
22112303
22112304
22112305
22112306
22112307
22112308
22112309
22112310
22112311
22112312
22112313
22112314
22112315
22112316
22112317
22112318
22112319
22112320
22112321
22112322
22112323
22112400
22112401
22112402
22112403
22112404
22112405
22112406
22112407
22112408
22112409
22112410
22112411
22112412
22112413
22112414
22112415
22112416
22112417
22112418
22112419
22112420
22112421
22112422
22112423
22112500
22112501
22112502
22112503
22112504
22112505
22112506
22112507
22112508
22112509
22112510
22112511
22112512
22112513
22112514
22112515
22112516
22112517
22112518
22112519
22112520
22112521
22112522
22112523
22112600
22112601
22112602
22112603
22112604
22112605
22112606
22112607
22112608
22112609
22112610
22112611
22112612
22112613
22112614
22112615
22112616
22112617
22112618
22112619
22112620
22112621
22112622
22112623
22112700
22112701
22112702
22112703
22112704
22112705
22112706
22112707
22112708
22112709
22112710
22112711
22112712
22112713
22112714
22112715
22112716
22112717
22112718
22112719
22112720
22112721
22112722
22112723
22112800
22112801
22112802
22112803
22112804
22112805
22112806
22112807
22112808
22112809
22112810
22112811
22112812
22112813
22112814
22112815
22112816
22112817
22112818
22112819
22112820
22112821
22112822
22112823
22112900
22112901
22112902
22112903
22112904
22112905
22112906
22112907
22112908
22112909
22112910
22112911
22112912
22112913
22112914
22112915
22112916
22112917
22112918
22112919
22112920
22112921
22112922
22112923
22113000
22113001
22113002
22113003
22113004
22113005
22113006
22113007
22113008
22113009
22113010
22113011
22113012
22113013
22113014
22113015
22113016
22113017
22113018
22113019
22113020
22113021
22113022
22113023
22120100
22120101
22120102
22120103
22120104
22120105
22120106
22120107
22120108
22120109
22120110
22120111
22120112
22120113
22120114
22120115
22120116
22120117
22120118
22120119
22120120
22120121
22120122
22120123
22120200
22120201
22120202
22120203
22120204
22120205
22120206
22120207
22120208
22120209
22120210
22120211
22120212
22120213
22120214
22120215
22120216
22120217
22120218
22120219
22120220
22120221
22120222
22120223
22120300
22120301
22120302
22120303
22120304
22120305
22120306
22120307
22120308
22120309
22120310
22120311
22120312
22120313
22120314
22120315
22120316
22120317
22120318
22120319
22120320
22120321
22120322
22120323
22120400
22120401
22120402
22120403
22120404
22120405
22120406
22120407
22120408
22120409
22120410
22120411
22120412
22120413
22120414
22120415
22120416
22120417
22120418
22120419
22120420
22120421
22120422
22120423
22120500
22120501
22120502
22120503
22120504
22120505
22120506
22120507
22120508
22120509
22120510
22120511
22120512
22120513
22120514
22120515
22120516
22120517
22120518
22120519
22120520
22120521
22120522
22120523
22120600
22120601
22120602
22120603
22120604
22120605
22120606
22120607
22120608
22120609
22120610
22120611
22120612
22120613
22120614
22120615
22120616
22120617
22120618
22120619
22120620
22120621
22120622
22120623
22120700
22120701
22120702
22120703
22120704
22120705
22120706
22120707
22120708
22120709
22120710
22120711
22120712
22120713
22120714
22120715
22120716
22120717
22120718
22120719
22120720
22120721
22120722
22120723
22120800
22120801
22120802
22120803
22120804
22120805
22120806
22120807
22120808
22120809
22120810
22120811
22120812
22120813
22120814
22120815
22120816
22120817
22120818
22120819
22120820
22120821
22120822
22120823
22120900
22120901
22120902
22120903
22120904
22120905
22120906
22120907
22120908
22120909
22120910
22120911
22120912
22120913
22120914
22120915
22120916
22120917
22120918
22120919
22120920
22120921
22120922
22120923
22121000
22121001
22121002
22121003
22121004
22121005
22121006
22121007
22121008
22121009
22121010
22121011
22121012
22121013
22121014
22121015
22121016
22121017
22121018
22121019
22121020
22121021
22121022
22121023
22121100
22121101
22121102
22121103
22121104
22121105
22121106
22121107
22121108
22121109
22121110
22121111
22121112
22121113
22121114
22121115
22121116
22121117
22121118
22121119
22121120
22121121
22121122
22121123
22121200
22121201
22121202
22121203
22121204
22121205
22121206
22121207
22121208
22121209
22121210
22121211
22121212
22121213
22121214
22121215
22121216
22121217
22121218
22121219
22121220
22121221
22121222
22121223
22121300
22121301
22121302
22121303
22121304
22121305
22121306
22121307
22121308
22121309
22121310
22121311
22121312
22121313
22121314
22121315
22121316
22121317
22121318
22121319
22121320
22121321
22121322
22121323
22121400
22121401
22121402
22121403
22121404
22121405
22121406
22121407
22121408
22121409
22121410
22121411
22121412
22121413
22121414
22121415
22121416
22121417
22121418
22121419
22121420
22121421
22121422
22121423
22121500
22121501
22121502
22121503
22121504
22121505
22121506
22121507
22121508
22121509
22121510
22121511
22121512
22121513
22121514
22121515
22121516
22121517
22121518
22121519
22121520
22121521
22121522
22121523
22121600
22121601
22121602
22121603
22121604
22121605
22121606
22121607
22121608
22121609
22121610
22121611
22121612
22121613
22121614
22121615
22121616
22121617
22121618
22121619
22121620
22121621
22121622
22121623
22121700
22121701
22121702
22121703
22121704
22121705
22121706
22121707
22121708
22121709
22121710
22121711
22121712
22121713
22121714
22121715
22121716
22121717
22121718
22121719
22121720
22121721
22121722
22121723
22121800
22121801
22121802
22121803
22121804
22121805
22121806
22121807
22121808
22121809
22121810
22121811
22121812
22121813
22121814
22121815
22121816
22121817
22121818
22121819
22121820
22121821
22121822
22121823
22121900
22121901
22121902
22121903
22121904
22121905
22121906
22121907
22121908
22121909
22121910
22121911
22121912
22121913
22121914
22121915
22121916
22121917
22121918
22121919
22121920
22121921
22121922
22121923
22122000
22122001
22122002
22122003
22122004
22122005
22122006
22122007
22122008
22122009
22122010
22122011
22122012
22122013
22122014
22122015
22122016
22122017
22122018
22122019
22122020
22122021
22122022
22122023
22122100
22122101
22122102
22122103
22122104
22122105
22122106
22122107
22122108
22122109
22122110
22122111
22122112
22122113
22122114
22122115
22122116
22122117
22122118
22122119
22122120
22122121
22122122
22122123
22122200
22122201
22122202
22122203
22122204
22122205
22122206
22122207
22122208
22122209
22122210
22122211
22122212
22122213
22122214
22122215
22122216
22122217
22122218
22122219
22122220
22122221
22122222
22122223
22122300
22122301
22122302
22122303
22122304
22122305
22122306
22122307
22122308
22122309
22122310
22122311
22122312
22122313
22122314
22122315
22122316
22122317
22122318
22122319
22122320
22122321
22122322
22122323
22122400
22122401
22122402
22122403
22122404
22122405
22122406
22122407
22122408
22122409
22122410
22122411
22122412
22122413
22122414
22122415
22122416
22122417
22122418
22122419
22122420
22122421
22122422
22122423
22122500
22122501
22122502
22122503
22122504
22122505
22122506
22122507
22122508
22122509
22122510
22122511
22122512
22122513
22122514
22122515
22122516
22122517
22122518
22122519
22122520
22122521
22122522
22122523
22122600
22122601
22122602
22122603
22122604
22122605
22122606
22122607
22122608
22122609
22122610
22122611
22122612
22122613
22122614
22122615
22122616
22122617
22122618
22122619
22122620
22122621
22122622
22122623
22122700
22122701
22122702
22122703
22122704
22122705
22122706
22122707
22122708
22122709
22122710
22122711
22122712
22122713
22122714
22122715
22122716
22122717
22122718
22122719
22122720
22122721
22122722
22122723
22122800
22122801
22122802
22122803
22122804
22122805
22122806
22122807
22122808
22122809
22122810
22122811
22122812
22122813
22122814
22122815
22122816
22122817
22122818
22122819
22122820
22122821
22122822
22122823
22122900
22122901
22122902
22122903
22122904
22122905
22122906
22122907
22122908
22122909
22122910
22122911
22122912
22122913
22122914
22122915
22122916
22122917
22122918
22122919
22122920
22122921
22122922
22122923
22123000
22123001
22123002
22123003
22123004
22123005
22123006
22123007
22123008
22123009
22123010
22123011
22123012
22123013
22123014
22123015
22123016
22123017
22123018
22123019
22123020
22123021
22123022
22123023
22123100
22123101
22123102
22123103
22123104
22123105
22123106
22123107
22123108
22123109
22123110
22123111
22123112
22123113
22123114
22123115
22123116
22123117
22123118
22123119
22123120
22123121
22123122
22123123
23010100
23010101
23010102
23010103
23010104
23010105
23010106
23010107
23010108
23010109
23010110
23010111
23010112
23010113
23010114
23010115
23010116
23010117
23010118
23010119
23010120
23010121
23010122
23010123
23010200
23010201
23010202
23010203
23010204
23010205
23010206
23010207
23010208
23010209
23010210
23010211
23010212
23010213
23010214
23010215
23010216
23010217
23010218
23010219
23010220
23010221
23010222
23010223
23010300
23010301
23010302
23010303
23010304
23010305
23010306
23010307
23010308
23010309
23010310
23010311
23010312
23010313
23010314
23010315
23010316
23010317
23010318
23010319
23010320
23010321
23010322
23010323
23010400
23010401
23010402
23010403
23010404
23010405
23010406
23010407
23010408
23010409
23010410
23010411
23010412
23010413
23010414
23010415
23010416
23010417
23010418
23010419
23010420
23010421
23010422
23010423
23010500
23010501
23010502
23010503
23010504
23010505
23010506
23010507
23010508
23010509
23010510
23010511
23010512
23010513
23010514
23010515
23010516
23010517
23010518
23010519
23010520
23010521
23010522
23010523
23010600
23010601
23010602
23010603
23010604
23010605
23010606
23010607
23010608
23010609
23010610
23010611
23010612
23010613
23010614
23010615
23010616
23010617
23010618
23010619
23010620
23010621
23010622
23010623
23010700
23010701
23010702
23010703
23010704
23010705
23010706
23010707
23010708
23010709
23010710
23010711
23010712
23010713
23010714
23010715
23010716
23010717
23010718
23010719
23010720
23010721
23010722
23010723
23010800
23010801
23010802
23010803
23010804
23010805
23010806
23010807
23010808
23010809
23010810
23010811
23010812
23010813
23010814
23010815
23010816
23010817
23010818
23010819
23010820
23010821
23010822
23010823
23010900
23010901
23010902
23010903
23010904
23010905
23010906
23010907
23010908
23010909
23010910
23010911
23010912
23010913
23010914
23010915
23010916
23010917
23010918
23010919
23010920
23010921
23010922
23010923
23011000
23011001
23011002
23011003
23011004
23011005
23011006
23011007
23011008
23011009
23011010
23011011
23011012
23011013
23011014
23011015
23011016
23011017
23011018
23011019
23011020
23011021
23011022
23011023
23011100
23011101
23011102
23011103
23011104
23011105
23011106
23011107
23011108
23011109
23011110
23011111
23011112
23011113
23011114
23011115
23011116
23011117
23011118
23011119
23011120
23011121
23011122
23011123
23011200
23011201
23011202
23011203
23011204
23011205
23011206
23011207
23011208
23011209
23011210
23011211
23011212
23011213
23011214
23011215
23011216
23011217
23011218
23011219
23011220
23011221
23011222
23011223
23011300
23011301
23011302
23011303
23011304
23011305
23011306
23011307
23011308
23011309
23011310
23011311
23011312
23011313
23011314
23011315
23011316
23011317
23011318
23011319
23011320
23011321
23011322
23011323
23011400
23011401
23011402
23011403
23011404
23011405
23011406
23011407
23011408
23011409
23011410
23011411
23011412
23011413
23011414
23011415
23011416
23011417
23011418
23011419
23011420
23011421
23011422
23011423
23011500
23011501
23011502
23011503
23011504
23011505
23011506
23011507
23011508
23011509
23011510
23011511
23011512
23011513
23011514
23011515
23011516
23011517
23011518
23011519
23011520
23011521
23011522
23011523
23011600
23011601
23011602
23011603
23011604
23011605
23011606
23011607
23011608
23011609
23011610
23011611
23011612
23011613
23011614
23011615
23011616
23011617
23011618
23011619
23011620
23011621
23011622
23011623
23011700
23011701
23011702
23011703
23011704
23011705
23011706
23011707
23011708
23011709
23011710
23011711
23011712
23011713
23011714
23011715
23011716
23011717
23011718
23011719
23011720
23011721
23011722
23011723
23011800
23011801
23011802
23011803
23011804
23011805
23011806
23011807
23011808
23011809
23011810
23011811
23011812
23011813
23011814
23011815
23011816
23011817
23011818
23011819
23011820
23011821
23011822
23011823
23011900
23011901
23011902
23011903
23011904
23011905
23011906
23011907
23011908
23011909
23011910
23011911
23011912
23011913
23011914
23011915
23011916
23011917
23011918
23011919
23011920
23011921
23011922
23011923
23012000
23012001
23012002
23012003
23012004
23012005
23012006
23012007
23012008
23012009
23012010
23012011
23012012
23012013
23012014
23012015
23012016
23012017
23012018
23012019
23012020
23012021
23012022
23012023
23012100
23012101
23012102
23012103
23012104
23012105
23012106
23012107
23012108
23012109
23012110
23012111
23012112
23012113
23012114
23012115
23012116
23012117
23012118
23012119
23012120
23012121
23012122
23012123
23012200
23012201
23012202
23012203
23012204
23012205
23012206
23012207
23012208
23012209
23012210
23012211
23012212
23012213
23012214
23012215
23012216
23012217
23012218
23012219
23012220
23012221
23012222
23012223
23012300
23012301
23012302
23012303
23012304
23012305
23012306
23012307
23012308
23012309
23012310
23012311
23012312
23012313
23012314
23012315
23012316
23012317
23012318
23012319
23012320
23012321
23012322
23012323
23012400
23012401
23012402
23012403
23012404
23012405
23012406
23012407
23012408
23012409
23012410
23012411
23012412
23012413
23012414
23012415
23012416
23012417
23012418
23012419
23012420
23012421
23012422
23012423
23012500
23012501
23012502
23012503
23012504
23012505
23012506
23012507
23012508
23012509
23012510
23012511
23012512
23012513
23012514
23012515
23012516
23012517
23012518
23012519
23012520
23012521
23012522
23012523
23012600
23012601
23012602
23012603
23012604
23012605
23012606
23012607
23012608
23012609
23012610
23012611
23012612
23012613
23012614
23012615
23012616
23012617
23012618
23012619
23012620
23012621
23012622
23012623
23012700
23012701
23012702
23012703
23012704
23012705
23012706
23012707
23012708
23012709
23012710
23012711
23012712
23012713
23012714
23012715
23012716
23012717
23012718
23012719
23012720
23012721
23012722
23012723
23012800
23012801
23012802
23012803
23012804
23012805
23012806
23012807
23012808
23012809
23012810
23012811
23012812
23012813
23012814
23012815
23012816
23012817
23012818
23012819
23012820
23012821
23012822
23012823
23012900
23012901
23012902
23012903
23012904
23012905
23012906
23012907
23012908
23012909
23012910
23012911
23012912
23012913
23012914
23012915
23012916
23012917
23012918
23012919
23012920
23012921
23012922
23012923
23013000
23013001
23013002
23013003
23013004
23013005
23013006
23013007
23013008
23013009
23013010
23013011
23013012
23013013
23013014
23013015
23013016
23013017
23013018
23013019
23013020
23013021
23013022
23013023
23013100
23013101
23013102
23013103
23013104
23013105
23013106
23013107
23013108
23013109
23013110
23013111
23013112
23013113
23013114
23013115
23013116
23013117
23013118
23013119
23013120
23013121
23013122
23013123
23020100
23020101
23020102
23020103
23020104
23020105
23020106
23020107
23020108
23020109
23020110
23020111
23020112
23020113
23020114
23020115
23020116
23020117
23020118
23020119
23020120
23020121
23020122
23020123
23020200
23020201
23020202
23020203
23020204
23020205
23020206
23020207
23020208
23020209
23020210
23020211
23020212
23020213
23020214
23020215
23020216
23020217
23020218
23020219
23020220
23020221
23020222
23020223
23020300
23020301
23020302
23020303
23020304
23020305
23020306
23020307
23020308
23020309
23020310
23020311
23020312
23020313
23020314
23020315
23020316
23020317
23020318
23020319
23020320
23020321
23020322
23020323
23020400
23020401
23020402
23020403
23020404
23020405
23020406
23020407
23020408
23020409
23020410
23020411
23020412
23020413
23020414
23020415
23020416
23020417
23020418
23020419
23020420
23020421
23020422
23020423
23020500
23020501
23020502
23020503
23020504
23020505
23020506
23020507
23020508
23020509
23020510
23020511
23020512
23020513
23020514
23020515
23020516
23020517
23020518
23020519
23020520
23020521
23020522
23020523
23020600
23020601
23020602
23020603
23020604
23020605
23020606
23020607
23020608
23020609
23020610
23020611
23020612
23020613
23020614
23020615
23020616
23020617
23020618
23020619
23020620
23020621
23020622
23020623
23020700
23020701
23020702
23020703
23020704
23020705
23020706
23020707
23020708
23020709
23020710
23020711
23020712
23020713
23020714
23020715
23020716
23020717
23020718
23020719
23020720
23020721
23020722
23020723
23020800
23020801
23020802
23020803
23020804
23020805
23020806
23020807
23020808
23020809
23020810
23020811
23020812
23020813
23020814
23020815
23020816
23020817
23020818
23020819
23020820
23020821
23020822
23020823
23020900
23020901
23020902
23020903
23020904
23020905
23020906
23020907
23020908
23020909
23020910
23020911
23020912
23020913
23020914
23020915
23020916
23020917
23020918
23020919
23020920
23020921
23020922
23020923
23021000
23021001
23021002
23021003
23021004
23021005
23021006
23021007
23021008
23021009
23021010
23021011
23021012
23021013
23021014
23021015
23021016
23021017
23021018
23021019
23021020
23021021
23021022
23021023
23021100
23021101
23021102
23021103
23021104
23021105
23021106
23021107
23021108
23021109
23021110
23021111
23021112
23021113
23021114
23021115
23021116
23021117
23021118
23021119
23021120
23021121
23021122
23021123
23021200
23021201
23021202
23021203
23021204
23021205
23021206
23021207
23021208
23021209
23021210
23021211
23021212
23021213
23021214
23021215
23021216
23021217
23021218
23021219
23021220
23021221
23021222
23021223
23021300
23021301
23021302
23021303
23021304
23021305
23021306
23021307
23021308
23021309
23021310
23021311
23021312
23021313
23021314
23021315
23021316
23021317
23021318
23021319
23021320
23021321
23021322
23021323
23021400
23021401
23021402
23021403
23021404
23021405
23021406
23021407
23021408
23021409
23021410
23021411
23021412
23021413
23021414
23021415
23021416
23021417
23021418
23021419
23021420
23021421
23021422
23021423
23021500
23021501
23021502
23021503
23021504
23021505
23021506
23021507
23021508
23021509
23021510
23021511
23021512
23021513
23021514
23021515
23021516
23021517
23021518
23021519
23021520
23021521
23021522
23021523
23021600
23021601
23021602
23021603
23021604
23021605
23021606
23021607
23021608
23021609
23021610
23021611
23021612
23021613
23021614
23021615
23021616
23021617
23021618
23021619
23021620
23021621
23021622
23021623
23021700
23021701
23021702
23021703
23021704
23021705
23021706
23021707
23021708
23021709
23021710
23021711
23021712
23021713
23021714
23021715
23021716
23021717
23021718
23021719
23021720
23021721
23021722
23021723
23021800
23021801
23021802
23021803
23021804
23021805
23021806
23021807
23021808
23021809
23021810
23021811
23021812
23021813
23021814
23021815
23021816
23021817
23021818
23021819
23021820
23021821
23021822
23021823
23021900
23021901
23021902
23021903
23021904
23021905
23021906
23021907
23021908
23021909
23021910
23021911
23021912
23021913
23021914
23021915
23021916
23021917
23021918
23021919
23021920
23021921
23021922
23021923
23022000
23022001
23022002
23022003
23022004
23022005
23022006
23022007
23022008
23022009
23022010
23022011
23022012
23022013
23022014
23022015
23022016
23022017
23022018
23022019
23022020
23022021
23022022
23022023
23022100
23022101
23022102
23022103
23022104
23022105
23022106
23022107
23022108
23022109
23022110
23022111
23022112
23022113
23022114
23022115
23022116
23022117
23022118
23022119
23022120
23022121
23022122
23022123
23022200
23022201
23022202
23022203
23022204
23022205
23022206
23022207
23022208
23022209
23022210
23022211
23022212
23022213
23022214
23022215
23022216
23022217
23022218
23022219
23022220
23022221
23022222
23022223
23022300
23022301
23022302
23022303
23022304
23022305
23022306
23022307
23022308
23022309
23022310
23022311
23022312
23022313
23022314
23022315
23022316
23022317
23022318
23022319
23022320
23022321
23022322
23022323
23022400
23022401
23022402
23022403
23022404
23022405
23022406
23022407
23022408
23022409
23022410
23022411
23022412
23022413
23022414
23022415
23022416
23022417
23022418
23022419
23022420
23022421
23022422
23022423
23022500
23022501
23022502
23022503
23022504
23022505
23022506
23022507
23022508
23022509
23022510
23022511
23022512
23022513
23022514
23022515
23022516
23022517
23022518
23022519
23022520
23022521
23022522
23022523
23022600
23022601
23022602
23022603
23022604
23022605
23022606
23022607
23022608
23022609
23022610
23022611
23022612
23022613
23022614
23022615
23022616
23022617
23022618
23022619
23022620
23022621
23022622
23022623
23022700
23022701
23022702
23022703
23022704
23022705
23022706
23022707
23022708
23022709
23022710
23022711
23022712
23022713
23022714
23022715
23022716
23022717
23022718
23022719
23022720
23022721
23022722
23022723
23022800
23022801
23022802
23022803
23022804
23022805
23022806
23022807
23022808
23022809
23022810
23022811
23022812
23022813
23022814
23022815
23022816
23022817
23022818
23022819
23022820
23022821
23022822
23022823
23030100
23030101
23030102
23030103
23030104
23030105
23030106
23030107
23030108
23030109
23030110
23030111
23030112
23030113
23030114
23030115
23030116
23030117
23030118
23030119
23030120
23030121
23030122
23030123
23030200
23030201
23030202
23030203
23030204
23030205
23030206
23030207
23030208
23030209
23030210
23030211
23030212
23030213
23030214
23030215
23030216
23030217
23030218
23030219
23030220
23030221
23030222
23030223
23030300
23030301
23030302
23030303
23030304
23030305
23030306
23030307
23030308
23030309
23030310
23030311
23030312
23030313
23030314
23030315
23030316
23030317
23030318
23030319
23030320
23030321
23030322
23030323
i = 0
flag_break = False
for y in range(22,24):
if(flag_break):
break
for m in range(1,13):
if(flag_break):
break
for d in range(1,32):
if(flag_break):
break
if((m==2) & (d>28)):
continue
if((m in [2,4,6,9,11]) & (d>30)):
continue
for h in range (0,24):
#print('{:2d}{:02d}{:02d}{:02d}'.format(y,m,d,h))
date = '{:2d}{:02d}{:02d}{:02d}'.format(y,m,d,h)
data_np[i,0] = date
i += 1
if(date == '23030323'):
flag_break = True
break
print(i)
data_np
10248
array([[2.2010100e+07, 6.0602455e+00, 9.4197820e+01, 1.5000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.2010101e+07, 5.5602455e+00, 9.4832620e+01, 3.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.2010102e+07, 4.6302450e+00, 9.6472030e+01, 3.0000000e-01,
0.0000000e+00, 0.0000000e+00],
...,
[2.3030321e+07, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.3030322e+07, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.3030323e+07, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00]])
data_np[-1000:,0]
array([23012108., 23012109., 23012110., 23012111., 23012112., 23012113.,
23012114., 23012115., 23012116., 23012117., 23012118., 23012119.,
23012120., 23012121., 23012122., 23012123., 23012200., 23012201.,
23012202., 23012203., 23012204., 23012205., 23012206., 23012207.,
23012208., 23012209., 23012210., 23012211., 23012212., 23012213.,
23012214., 23012215., 23012216., 23012217., 23012218., 23012219.,
23012220., 23012221., 23012222., 23012223., 23012300., 23012301.,
23012302., 23012303., 23012304., 23012305., 23012306., 23012307.,
23012308., 23012309., 23012310., 23012311., 23012312., 23012313.,
23012314., 23012315., 23012316., 23012317., 23012318., 23012319.,
23012320., 23012321., 23012322., 23012323., 23012400., 23012401.,
23012402., 23012403., 23012404., 23012405., 23012406., 23012407.,
23012408., 23012409., 23012410., 23012411., 23012412., 23012413.,
23012414., 23012415., 23012416., 23012417., 23012418., 23012419.,
23012420., 23012421., 23012422., 23012423., 23012500., 23012501.,
23012502., 23012503., 23012504., 23012505., 23012506., 23012507.,
23012508., 23012509., 23012510., 23012511., 23012512., 23012513.,
23012514., 23012515., 23012516., 23012517., 23012518., 23012519.,
23012520., 23012521., 23012522., 23012523., 23012600., 23012601.,
23012602., 23012603., 23012604., 23012605., 23012606., 23012607.,
23012608., 23012609., 23012610., 23012611., 23012612., 23012613.,
23012614., 23012615., 23012616., 23012617., 23012618., 23012619.,
23012620., 23012621., 23012622., 23012623., 23012700., 23012701.,
23012702., 23012703., 23012704., 23012705., 23012706., 23012707.,
23012708., 23012709., 23012710., 23012711., 23012712., 23012713.,
23012714., 23012715., 23012716., 23012717., 23012718., 23012719.,
23012720., 23012721., 23012722., 23012723., 23012800., 23012801.,
23012802., 23012803., 23012804., 23012805., 23012806., 23012807.,
23012808., 23012809., 23012810., 23012811., 23012812., 23012813.,
23012814., 23012815., 23012816., 23012817., 23012818., 23012819.,
23012820., 23012821., 23012822., 23012823., 23012900., 23012901.,
23012902., 23012903., 23012904., 23012905., 23012906., 23012907.,
23012908., 23012909., 23012910., 23012911., 23012912., 23012913.,
23012914., 23012915., 23012916., 23012917., 23012918., 23012919.,
23012920., 23012921., 23012922., 23012923., 23013000., 23013001.,
23013002., 23013003., 23013004., 23013005., 23013006., 23013007.,
23013008., 23013009., 23013010., 23013011., 23013012., 23013013.,
23013014., 23013015., 23013016., 23013017., 23013018., 23013019.,
23013020., 23013021., 23013022., 23013023., 23013100., 23013101.,
23013102., 23013103., 23013104., 23013105., 23013106., 23013107.,
23013108., 23013109., 23013110., 23013111., 23013112., 23013113.,
23013114., 23013115., 23013116., 23013117., 23013118., 23013119.,
23013120., 23013121., 23013122., 23013123., 23020100., 23020101.,
23020102., 23020103., 23020104., 23020105., 23020106., 23020107.,
23020108., 23020109., 23020110., 23020111., 23020112., 23020113.,
23020114., 23020115., 23020116., 23020117., 23020118., 23020119.,
23020120., 23020121., 23020122., 23020123., 23020200., 23020201.,
23020202., 23020203., 23020204., 23020205., 23020206., 23020207.,
23020208., 23020209., 23020210., 23020211., 23020212., 23020213.,
23020214., 23020215., 23020216., 23020217., 23020218., 23020219.,
23020220., 23020221., 23020222., 23020223., 23020300., 23020301.,
23020302., 23020303., 23020304., 23020305., 23020306., 23020307.,
23020308., 23020309., 23020310., 23020311., 23020312., 23020313.,
23020314., 23020315., 23020316., 23020317., 23020318., 23020319.,
23020320., 23020321., 23020322., 23020323., 23020400., 23020401.,
23020402., 23020403., 23020404., 23020405., 23020406., 23020407.,
23020408., 23020409., 23020410., 23020411., 23020412., 23020413.,
23020414., 23020415., 23020416., 23020417., 23020418., 23020419.,
23020420., 23020421., 23020422., 23020423., 23020500., 23020501.,
23020502., 23020503., 23020504., 23020505., 23020506., 23020507.,
23020508., 23020509., 23020510., 23020511., 23020512., 23020513.,
23020514., 23020515., 23020516., 23020517., 23020518., 23020519.,
23020520., 23020521., 23020522., 23020523., 23020600., 23020601.,
23020602., 23020603., 23020604., 23020605., 23020606., 23020607.,
23020608., 23020609., 23020610., 23020611., 23020612., 23020613.,
23020614., 23020615., 23020616., 23020617., 23020618., 23020619.,
23020620., 23020621., 23020622., 23020623., 23020700., 23020701.,
23020702., 23020703., 23020704., 23020705., 23020706., 23020707.,
23020708., 23020709., 23020710., 23020711., 23020712., 23020713.,
23020714., 23020715., 23020716., 23020717., 23020718., 23020719.,
23020720., 23020721., 23020722., 23020723., 23020800., 23020801.,
23020802., 23020803., 23020804., 23020805., 23020806., 23020807.,
23020808., 23020809., 23020810., 23020811., 23020812., 23020813.,
23020814., 23020815., 23020816., 23020817., 23020818., 23020819.,
23020820., 23020821., 23020822., 23020823., 23020900., 23020901.,
23020902., 23020903., 23020904., 23020905., 23020906., 23020907.,
23020908., 23020909., 23020910., 23020911., 23020912., 23020913.,
23020914., 23020915., 23020916., 23020917., 23020918., 23020919.,
23020920., 23020921., 23020922., 23020923., 23021000., 23021001.,
23021002., 23021003., 23021004., 23021005., 23021006., 23021007.,
23021008., 23021009., 23021010., 23021011., 23021012., 23021013.,
23021014., 23021015., 23021016., 23021017., 23021018., 23021019.,
23021020., 23021021., 23021022., 23021023., 23021100., 23021101.,
23021102., 23021103., 23021104., 23021105., 23021106., 23021107.,
23021108., 23021109., 23021110., 23021111., 23021112., 23021113.,
23021114., 23021115., 23021116., 23021117., 23021118., 23021119.,
23021120., 23021121., 23021122., 23021123., 23021200., 23021201.,
23021202., 23021203., 23021204., 23021205., 23021206., 23021207.,
23021208., 23021209., 23021210., 23021211., 23021212., 23021213.,
23021214., 23021215., 23021216., 23021217., 23021218., 23021219.,
23021220., 23021221., 23021222., 23021223., 23021300., 23021301.,
23021302., 23021303., 23021304., 23021305., 23021306., 23021307.,
23021308., 23021309., 23021310., 23021311., 23021312., 23021313.,
23021314., 23021315., 23021316., 23021317., 23021318., 23021319.,
23021320., 23021321., 23021322., 23021323., 23021400., 23021401.,
23021402., 23021403., 23021404., 23021405., 23021406., 23021407.,
23021408., 23021409., 23021410., 23021411., 23021412., 23021413.,
23021414., 23021415., 23021416., 23021417., 23021418., 23021419.,
23021420., 23021421., 23021422., 23021423., 23021500., 23021501.,
23021502., 23021503., 23021504., 23021505., 23021506., 23021507.,
23021508., 23021509., 23021510., 23021511., 23021512., 23021513.,
23021514., 23021515., 23021516., 23021517., 23021518., 23021519.,
23021520., 23021521., 23021522., 23021523., 23021600., 23021601.,
23021602., 23021603., 23021604., 23021605., 23021606., 23021607.,
23021608., 23021609., 23021610., 23021611., 23021612., 23021613.,
23021614., 23021615., 23021616., 23021617., 23021618., 23021619.,
23021620., 23021621., 23021622., 23021623., 23021700., 23021701.,
23021702., 23021703., 23021704., 23021705., 23021706., 23021707.,
23021708., 23021709., 23021710., 23021711., 23021712., 23021713.,
23021714., 23021715., 23021716., 23021717., 23021718., 23021719.,
23021720., 23021721., 23021722., 23021723., 23021800., 23021801.,
23021802., 23021803., 23021804., 23021805., 23021806., 23021807.,
23021808., 23021809., 23021810., 23021811., 23021812., 23021813.,
23021814., 23021815., 23021816., 23021817., 23021818., 23021819.,
23021820., 23021821., 23021822., 23021823., 23021900., 23021901.,
23021902., 23021903., 23021904., 23021905., 23021906., 23021907.,
23021908., 23021909., 23021910., 23021911., 23021912., 23021913.,
23021914., 23021915., 23021916., 23021917., 23021918., 23021919.,
23021920., 23021921., 23021922., 23021923., 23022000., 23022001.,
23022002., 23022003., 23022004., 23022005., 23022006., 23022007.,
23022008., 23022009., 23022010., 23022011., 23022012., 23022013.,
23022014., 23022015., 23022016., 23022017., 23022018., 23022019.,
23022020., 23022021., 23022022., 23022023., 23022100., 23022101.,
23022102., 23022103., 23022104., 23022105., 23022106., 23022107.,
23022108., 23022109., 23022110., 23022111., 23022112., 23022113.,
23022114., 23022115., 23022116., 23022117., 23022118., 23022119.,
23022120., 23022121., 23022122., 23022123., 23022200., 23022201.,
23022202., 23022203., 23022204., 23022205., 23022206., 23022207.,
23022208., 23022209., 23022210., 23022211., 23022212., 23022213.,
23022214., 23022215., 23022216., 23022217., 23022218., 23022219.,
23022220., 23022221., 23022222., 23022223., 23022300., 23022301.,
23022302., 23022303., 23022304., 23022305., 23022306., 23022307.,
23022308., 23022309., 23022310., 23022311., 23022312., 23022313.,
23022314., 23022315., 23022316., 23022317., 23022318., 23022319.,
23022320., 23022321., 23022322., 23022323., 23022400., 23022401.,
23022402., 23022403., 23022404., 23022405., 23022406., 23022407.,
23022408., 23022409., 23022410., 23022411., 23022412., 23022413.,
23022414., 23022415., 23022416., 23022417., 23022418., 23022419.,
23022420., 23022421., 23022422., 23022423., 23022500., 23022501.,
23022502., 23022503., 23022504., 23022505., 23022506., 23022507.,
23022508., 23022509., 23022510., 23022511., 23022512., 23022513.,
23022514., 23022515., 23022516., 23022517., 23022518., 23022519.,
23022520., 23022521., 23022522., 23022523., 23022600., 23022601.,
23022602., 23022603., 23022604., 23022605., 23022606., 23022607.,
23022608., 23022609., 23022610., 23022611., 23022612., 23022613.,
23022614., 23022615., 23022616., 23022617., 23022618., 23022619.,
23022620., 23022621., 23022622., 23022623., 23022700., 23022701.,
23022702., 23022703., 23022704., 23022705., 23022706., 23022707.,
23022708., 23022709., 23022710., 23022711., 23022712., 23022713.,
23022714., 23022715., 23022716., 23022717., 23022718., 23022719.,
23022720., 23022721., 23022722., 23022723., 23022800., 23022801.,
23022802., 23022803., 23022804., 23022805., 23022806., 23022807.,
23022808., 23022809., 23022810., 23022811., 23022812., 23022813.,
23022814., 23022815., 23022816., 23022817., 23022818., 23022819.,
23022820., 23022821., 23022822., 23022823., 23030100., 23030101.,
23030102., 23030103., 23030104., 23030105., 23030106., 23030107.,
23030108., 23030109., 23030110., 23030111., 23030112., 23030113.,
23030114., 23030115., 23030116., 23030117., 23030118., 23030119.,
23030120., 23030121., 23030122., 23030123., 23030200., 23030201.,
23030202., 23030203., 23030204., 23030205., 23030206., 23030207.,
23030208., 23030209., 23030210., 23030211., 23030212., 23030213.,
23030214., 23030215., 23030216., 23030217., 23030218., 23030219.,
23030220., 23030221., 23030222., 23030223., 23030300., 23030301.,
23030302., 23030303., 23030304., 23030305., 23030306., 23030307.,
23030308., 23030309., 23030310., 23030311., 23030312., 23030313.,
23030314., 23030315., 23030316., 23030317., 23030318., 23030319.,
23030320., 23030321., 23030322., 23030323.])
Let’s get rid of those without any temperature information (col #1):
data_np[data_np[:,1] == 0,:]
array([[23022401., 0., 0., 0., 0., 0.],
[23022402., 0., 0., 0., 0., 0.],
[23022403., 0., 0., 0., 0., 0.],
...,
[23030321., 0., 0., 0., 0., 0.],
[23030322., 0., 0., 0., 0., 0.],
[23030323., 0., 0., 0., 0., 0.]])
Turns out that from Feb 24th, 2023 and forward, so:
a = data_np.copy()
a
array([[2.2010100e+07, 6.0602455e+00, 9.4197820e+01, 1.5000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.2010101e+07, 5.5602455e+00, 9.4832620e+01, 3.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.2010102e+07, 4.6302450e+00, 9.6472030e+01, 3.0000000e-01,
0.0000000e+00, 0.0000000e+00],
...,
[2.3030321e+07, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.3030322e+07, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.3030323e+07, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00]])
a = np.delete(a,np.arange(0,a.shape[0])[a[:,0]>23022400],0)
a.shape[0]
10057
np_data = a.copy()
… and here comes the basic plot:
import matplotlib.pyplot as plt
data_2022 = data_np[data_np[:,0]<23010100,:]
data_2022[-10:,:]
array([[2.2123114e+07, 1.6970245e+01, 6.9917000e+01, 2.9700000e+01,
4.1042553e+01, 2.4500000e+02],
[2.2123115e+07, 1.6590246e+01, 7.0449690e+01, 3.0000002e+01,
4.0851063e+01, 1.7500000e+02],
[2.2123116e+07, 1.5720245e+01, 7.4489390e+01, 2.8800001e+01,
4.1617020e+01, 9.0000000e+01],
[2.2123117e+07, 1.4240245e+01, 7.8803360e+01, 2.9100000e+01,
3.4130035e+01, 1.4000000e+01],
[2.2123118e+07, 1.3750245e+01, 7.8834650e+01, 2.2800001e+01,
0.0000000e+00, 0.0000000e+00],
[2.2123119e+07, 1.3550245e+01, 7.9496610e+01, 7.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[2.2123120e+07, 1.3410245e+01, 7.9422300e+01, 2.3000000e+01,
0.0000000e+00, 0.0000000e+00],
[2.2123121e+07, 1.2940246e+01, 8.0106064e+01, 3.2000000e+01,
0.0000000e+00, 0.0000000e+00],
[2.2123122e+07, 1.2350245e+01, 8.1497530e+01, 5.1000000e+01,
0.0000000e+00, 0.0000000e+00],
[2.2123123e+07, 1.2340245e+01, 8.0781570e+01, 9.0000000e+00,
0.0000000e+00, 0.0000000e+00]])
plt.plot(data_2022[:,0],data_2022[:,1],"b-s")
plt.title("Graph via Matplotlib")
plt.xlabel("Date")
plt.ylabel("Temperature")
plt.show()
plt.plot(data_2022[:,1])
plt.show()
filter_1 = (data_np[:,0]>=23010100) & (data_np[:,0]<23020100)
plt.plot(data_np[filter_1,0],data_np[filter_1,1],"b-s")
plt.title("Graph via Matplotlib")
plt.xlabel("January 2023")
plt.ylabel("Temperature")
plt.show()
Exporting a numpy array as a CSV file¶
While we are at it, here is how we can export a numpy array as CSV:
np.savetxt('del_this_file.csv', data_np, delimiter = ",")
Importing a CSV file with Pandas¶
Now that we have experienced the pains of the “old” method, let’s revive the technique we have acquired last week: using Pandas to hold the data in a dataframe!
import pandas as pd
pd.set_option('display.min_rows', 10)
pd.set_option('display.max_rows', 10)
data1 = pd.read_csv("data/01_meteoblue_Basel_20230303T060433.csv",
skiprows=9)
data1.columns = ['Timestamp','Temperature','Relative Humidity',
'Cloud Coverage', 'Sunshine Duration','Radiation']
data1 = data1.set_index('Timestamp')
data1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | |
|---|---|---|---|---|---|
| Timestamp | |||||
| 20220101T0000 | 6.060245 | 94.19782 | 1.5 | 0.0 | 0.0 |
| 20220101T0100 | 5.560245 | 94.83262 | 3.0 | 0.0 | 0.0 |
| 20220101T0200 | 4.630245 | 96.47203 | 0.3 | 0.0 | 0.0 |
| 20220101T0300 | 3.660245 | 97.11870 | 1.2 | 0.0 | 0.0 |
| 20220101T0400 | 3.880245 | 96.16575 | 1.0 | 0.0 | 0.0 |
| ... | ... | ... | ... | ... | ... |
| 20230303T1900 | NaN | NaN | NaN | NaN | NaN |
| 20230303T2000 | NaN | NaN | NaN | NaN | NaN |
| 20230303T2100 | NaN | NaN | NaN | NaN | NaN |
| 20230303T2200 | NaN | NaN | NaN | NaN | NaN |
| 20230303T2300 | NaN | NaN | NaN | NaN | NaN |
10248 rows × 5 columns
Even though, it is completely possible to plot dataframe using matplotlib there’s actually a much better way to do it: enter the seaborn module!
import seaborn as sns
sns.set_theme() # To make things appear "more cool" 8)
data1.loc[:,"Relative Humidity"].max()
100.06447
data1.loc[:,"Sunshine Duration"].max()
60.0
filter_202208w1 = ((data1.index>="20220801") &
(data1.index<"20220808"))
data_202208w1 = data1.loc[filter_202208w1].copy()
data_202208w1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | |
|---|---|---|---|---|---|
| Timestamp | |||||
| 20220801T0000 | 22.350245 | 48.665290 | 4.000000 | 0.000000 | 0.0 |
| 20220801T0100 | 21.140245 | 52.629486 | 1.000000 | 0.000000 | 0.0 |
| 20220801T0200 | 19.020245 | 61.299694 | 1.000000 | 0.000000 | 0.0 |
| 20220801T0300 | 17.280245 | 68.006490 | 0.000000 | 0.000000 | 0.0 |
| 20220801T0400 | 16.330246 | 72.687810 | 0.000000 | 0.000000 | 0.0 |
| ... | ... | ... | ... | ... | ... |
| 20220807T1900 | 25.210245 | 45.069187 | 27.000002 | 42.765953 | 135.0 |
| 20220807T2000 | 23.750246 | 45.444828 | 27.000002 | 41.138474 | 20.0 |
| 20220807T2100 | 22.290245 | 48.713924 | 27.000002 | 0.000000 | 0.0 |
| 20220807T2200 | 20.990246 | 51.926308 | 28.200000 | 0.000000 | 0.0 |
| 20220807T2300 | 17.840246 | 68.711380 | 9.900001 | 0.000000 | 0.0 |
168 rows × 5 columns
data_202208w1.shape
(168, 5)
Here, it’s as simple as it gets! We are just letting seaborne to figure out what we need:
plt1 = sns.relplot(data=data_202208w1)
Plotting a specific column¶
We can easily designate columns to be used for the x & y parameters for our graph:
plt2 = sns.relplot(data=data_202208w1,x="Temperature",y="Relative Humidity")
And here is a beauty: by hue and size parameters, we can classify using other column values, making it easier to investigate the dependencies wrt these columns:
plt3 = sns.relplot(data=data_202208w1,x="Temperature",y="Relative Humidity",
hue="Temperature",size="Relative Humidity")
And this is our attempt to further classify things by adding the style alas it kind of fails
plt3 = sns.relplot(data=data_202208w1,x="Temperature",y="Relative Humidity",
style="Temperature")
Seems that it doesn’t like so many classification wrt the values. Luckily we can work around it, by smoothing things out! 8)
import numpy as np
data_202208w1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | |
|---|---|---|---|---|---|
| Timestamp | |||||
| 20220801T0000 | 22.350245 | 48.665290 | 4.000000 | 0.000000 | 0.0 |
| 20220801T0100 | 21.140245 | 52.629486 | 1.000000 | 0.000000 | 0.0 |
| 20220801T0200 | 19.020245 | 61.299694 | 1.000000 | 0.000000 | 0.0 |
| 20220801T0300 | 17.280245 | 68.006490 | 0.000000 | 0.000000 | 0.0 |
| 20220801T0400 | 16.330246 | 72.687810 | 0.000000 | 0.000000 | 0.0 |
| ... | ... | ... | ... | ... | ... |
| 20220807T1900 | 25.210245 | 45.069187 | 27.000002 | 42.765953 | 135.0 |
| 20220807T2000 | 23.750246 | 45.444828 | 27.000002 | 41.138474 | 20.0 |
| 20220807T2100 | 22.290245 | 48.713924 | 27.000002 | 0.000000 | 0.0 |
| 20220807T2200 | 20.990246 | 51.926308 | 28.200000 | 0.000000 | 0.0 |
| 20220807T2300 | 17.840246 | 68.711380 | 9.900001 | 0.000000 | 0.0 |
168 rows × 5 columns
print("T_min: {:.6f}C | T_max: {:.3f}C"
.format(data_202208w1.Temperature.min(),data_202208w1.Temperature.max()))
T_min: 15.010245C | T_max: 37.380C
data_202208w1[data_202208w1.Temperature == data_202208w1.Temperature.min()]
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | |
|---|---|---|---|---|---|
| Timestamp | |||||
| 20220807T0500 | 15.010245 | 61.463127 | 3.0 | 0.0 | 0.0 |
print(data_202208w1.index[data_202208w1.Temperature == data_202208w1.Temperature.min()][0])
20220807T0500
data_202208w1.Temperature/10
Timestamp
20220801T0000 2.235025
20220801T0100 2.114025
20220801T0200 1.902025
20220801T0300 1.728025
20220801T0400 1.633025
...
20220807T1900 2.521025
20220807T2000 2.375025
20220807T2100 2.229024
20220807T2200 2.099025
20220807T2300 1.784025
Name: Temperature, Length: 168, dtype: float64
np.floor(data_202208w1.Temperature / 10.0) * 10
Timestamp
20220801T0000 20.0
20220801T0100 20.0
20220801T0200 10.0
20220801T0300 10.0
20220801T0400 10.0
...
20220807T1900 20.0
20220807T2000 20.0
20220807T2100 20.0
20220807T2200 20.0
20220807T2300 10.0
Name: Temperature, Length: 168, dtype: float64
data_202208w1.Temperature
Timestamp
20220801T0000 22.350245
20220801T0100 21.140245
20220801T0200 19.020245
20220801T0300 17.280245
20220801T0400 16.330246
...
20220807T1900 25.210245
20220807T2000 23.750246
20220807T2100 22.290245
20220807T2200 20.990246
20220807T2300 17.840246
Name: Temperature, Length: 168, dtype: float64
Here we add a new column TempFloor that stores the smoothed out temperature values:
tempsf = np.floor(data_202208w1.loc[:,"Temperature"] / 10.0) * 10
data_202208w1.loc[:,"TempFloored"] = tempsf.loc[:]
data_202208w1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | TempFloored | |
|---|---|---|---|---|---|---|
| Timestamp | ||||||
| 20220801T0000 | 22.350245 | 48.665290 | 4.000000 | 0.000000 | 0.0 | 20.0 |
| 20220801T0100 | 21.140245 | 52.629486 | 1.000000 | 0.000000 | 0.0 | 20.0 |
| 20220801T0200 | 19.020245 | 61.299694 | 1.000000 | 0.000000 | 0.0 | 10.0 |
| 20220801T0300 | 17.280245 | 68.006490 | 0.000000 | 0.000000 | 0.0 | 10.0 |
| 20220801T0400 | 16.330246 | 72.687810 | 0.000000 | 0.000000 | 0.0 | 10.0 |
| ... | ... | ... | ... | ... | ... | ... |
| 20220807T1900 | 25.210245 | 45.069187 | 27.000002 | 42.765953 | 135.0 | 20.0 |
| 20220807T2000 | 23.750246 | 45.444828 | 27.000002 | 41.138474 | 20.0 | 20.0 |
| 20220807T2100 | 22.290245 | 48.713924 | 27.000002 | 0.000000 | 0.0 | 20.0 |
| 20220807T2200 | 20.990246 | 51.926308 | 28.200000 | 0.000000 | 0.0 | 20.0 |
| 20220807T2300 | 17.840246 | 68.711380 | 9.900001 | 0.000000 | 0.0 | 10.0 |
168 rows × 6 columns
plt4 = sns.relplot(data=data_202208w1,x="Temperature",y="Relative Humidity",
style="TempFloored")
Enough with the scatter plots, lets connect the dots with the kind parameter:
plt4 = sns.relplot(data=data_202208w1,x="Timestamp",y="Temperature",
kind="line", marker="^")
Here is the same thing without the markers:
plt4 = sns.relplot(data=data_202208w1,x="Timestamp",y="Temperature",
kind="line")
data_202208w1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | TempFloored | |
|---|---|---|---|---|---|---|
| Timestamp | ||||||
| 20220801T0000 | 22.350245 | 48.665290 | 4.000000 | 0.000000 | 0.0 | 20.0 |
| 20220801T0100 | 21.140245 | 52.629486 | 1.000000 | 0.000000 | 0.0 | 20.0 |
| 20220801T0200 | 19.020245 | 61.299694 | 1.000000 | 0.000000 | 0.0 | 10.0 |
| 20220801T0300 | 17.280245 | 68.006490 | 0.000000 | 0.000000 | 0.0 | 10.0 |
| 20220801T0400 | 16.330246 | 72.687810 | 0.000000 | 0.000000 | 0.0 | 10.0 |
| ... | ... | ... | ... | ... | ... | ... |
| 20220807T1900 | 25.210245 | 45.069187 | 27.000002 | 42.765953 | 135.0 | 20.0 |
| 20220807T2000 | 23.750246 | 45.444828 | 27.000002 | 41.138474 | 20.0 | 20.0 |
| 20220807T2100 | 22.290245 | 48.713924 | 27.000002 | 0.000000 | 0.0 | 20.0 |
| 20220807T2200 | 20.990246 | 51.926308 | 28.200000 | 0.000000 | 0.0 | 20.0 |
| 20220807T2300 | 17.840246 | 68.711380 | 9.900001 | 0.000000 | 0.0 | 10.0 |
168 rows × 6 columns
Let’s further classify such that those entries with their humidity above the mean value will be labeled as “humid”, whereas those below will be “dry”.
Therefore, we have to start with calculating the mean:
data_202208w1["Relative Humidity"].mean()
52.46707050595234
and we define a new column for the job:
data_202208w1['RHClass'] = 0
data_202208w1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | TempFloored | RHClass | |
|---|---|---|---|---|---|---|---|
| Timestamp | |||||||
| 20220801T0000 | 22.350245 | 48.665290 | 4.000000 | 0.000000 | 0.0 | 20.0 | 0 |
| 20220801T0100 | 21.140245 | 52.629486 | 1.000000 | 0.000000 | 0.0 | 20.0 | 0 |
| 20220801T0200 | 19.020245 | 61.299694 | 1.000000 | 0.000000 | 0.0 | 10.0 | 0 |
| 20220801T0300 | 17.280245 | 68.006490 | 0.000000 | 0.000000 | 0.0 | 10.0 | 0 |
| 20220801T0400 | 16.330246 | 72.687810 | 0.000000 | 0.000000 | 0.0 | 10.0 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 20220807T1900 | 25.210245 | 45.069187 | 27.000002 | 42.765953 | 135.0 | 20.0 | 0 |
| 20220807T2000 | 23.750246 | 45.444828 | 27.000002 | 41.138474 | 20.0 | 20.0 | 0 |
| 20220807T2100 | 22.290245 | 48.713924 | 27.000002 | 0.000000 | 0.0 | 20.0 | 0 |
| 20220807T2200 | 20.990246 | 51.926308 | 28.200000 | 0.000000 | 0.0 | 20.0 | 0 |
| 20220807T2300 | 17.840246 | 68.711380 | 9.900001 | 0.000000 | 0.0 | 10.0 | 0 |
168 rows × 7 columns
How do we single out the ones that have their humidity above the average? By filtering of course! 8)
filter_2 = data_202208w1['Relative Humidity']>52
data_202208w1.loc[filter_2,'RHClass']
Timestamp
20220801T0100 0
20220801T0200 0
20220801T0300 0
20220801T0400 0
20220801T0500 0
..
20220807T0700 0
20220807T0800 0
20220807T0900 0
20220807T1000 0
20220807T2300 0
Name: RHClass, Length: 82, dtype: int64
filter_2
Timestamp
20220801T0000 False
20220801T0100 True
20220801T0200 True
20220801T0300 True
20220801T0400 True
...
20220807T1900 False
20220807T2000 False
20220807T2100 False
20220807T2200 False
20220807T2300 True
Name: Relative Humidity, Length: 168, dtype: bool
np.invert(filter_2)
Timestamp
20220801T0000 True
20220801T0100 False
20220801T0200 False
20220801T0300 False
20220801T0400 False
...
20220807T1900 True
20220807T2000 True
20220807T2100 True
20220807T2200 True
20220807T2300 False
Name: Relative Humidity, Length: 168, dtype: bool
So, we fill the ‘RHClass’ column of the ones above the mean with “humid”; and with “dry” for the others (please observe how we invert the booleans with the “invert”).
data_202208w1.loc[filter_2,'RHClass'] = 'humid'
data_202208w1.loc[np.invert(filter_2),'RHClass'] = 'dry'
data_202208w1
| Temperature | Relative Humidity | Cloud Coverage | Sunshine Duration | Radiation | TempFloored | RHClass | |
|---|---|---|---|---|---|---|---|
| Timestamp | |||||||
| 20220801T0000 | 22.350245 | 48.665290 | 4.000000 | 0.000000 | 0.0 | 20.0 | dry |
| 20220801T0100 | 21.140245 | 52.629486 | 1.000000 | 0.000000 | 0.0 | 20.0 | humid |
| 20220801T0200 | 19.020245 | 61.299694 | 1.000000 | 0.000000 | 0.0 | 10.0 | humid |
| 20220801T0300 | 17.280245 | 68.006490 | 0.000000 | 0.000000 | 0.0 | 10.0 | humid |
| 20220801T0400 | 16.330246 | 72.687810 | 0.000000 | 0.000000 | 0.0 | 10.0 | humid |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 20220807T1900 | 25.210245 | 45.069187 | 27.000002 | 42.765953 | 135.0 | 20.0 | dry |
| 20220807T2000 | 23.750246 | 45.444828 | 27.000002 | 41.138474 | 20.0 | 20.0 | dry |
| 20220807T2100 | 22.290245 | 48.713924 | 27.000002 | 0.000000 | 0.0 | 20.0 | dry |
| 20220807T2200 | 20.990246 | 51.926308 | 28.200000 | 0.000000 | 0.0 | 20.0 | dry |
| 20220807T2300 | 17.840246 | 68.711380 | 9.900001 | 0.000000 | 0.0 | 10.0 | humid |
168 rows × 7 columns
plt5 = sns.relplot(data=data_202208w1,x="Timestamp",y="Temperature",\
kind="line",
style="RHClass", hue="RHClass")
(plt5.map(plt.axhline,y = 22.5, color=".5", dashes=(2, 1), zorder=0)
.set_axis_labels("Day Hour", "Temperature")
.fig.suptitle("Test Graph"))
Text(0.5, 0.98, 'Test Graph')
plt5 = sns.relplot(data=data_202208w1,x="Timestamp", y="Temperature",
kind="line", col="RHClass")
Histogram Plots¶
Histogram bars are also essential - especially if we are dealing with distributions.
plt6 = sns.displot(data=data_202208w1,x="Temperature",
col="RHClass",bins=10)
data_g = np.random.normal(0,10,1000)
data_g
array([ 6.23445374e+00, -1.39502855e+01, -8.23092866e+00, 1.06544818e+01,
-3.75146300e+00, 3.32420517e+00, 6.64583624e-01, -4.68513881e+00,
-4.98497977e+00, -1.26077991e+00, -7.64907626e+00, -9.72748545e+00,
1.92263957e+01, 1.48667218e+01, 7.34159352e+00, 1.23832775e+01,
-3.26892558e+00, 4.94547970e+00, -3.69063004e+00, -1.93219398e+01,
2.14299666e+01, -6.57022644e+00, 9.80453668e+00, -7.18388209e+00,
-4.04037061e+00, 6.08738067e+00, -5.22401181e+00, -1.42976641e+00,
7.09410533e+00, 1.32947444e+00, 4.30973119e+00, -1.37321883e+01,
-1.88733215e+01, -3.28504294e+00, -1.96628865e+00, 2.30622989e+01,
1.39128422e+01, 1.40891370e+00, -9.33600543e+00, 1.04919787e+01,
-9.02427975e+00, 8.98677166e+00, -1.14709717e+01, 1.87678364e+01,
-6.94344393e+00, 8.81493228e+00, -1.49147997e+01, -3.77505525e+00,
7.62177423e+00, 4.89495272e-01, -1.98673983e+01, -1.13192553e+01,
-2.04586381e+01, 1.24302803e+01, 5.81493750e+00, 4.31605143e-01,
-2.32056953e+00, 1.59693627e+00, -8.80748408e+00, 8.32248073e+00,
-4.51372686e+00, -1.37569833e+01, -9.10321599e+00, -9.25602520e+00,
-1.06978353e+01, 1.04163147e+01, -3.26675934e+00, 1.03983303e+01,
1.72776001e+01, -1.27322339e+01, -1.85660091e+00, -1.26895705e+01,
-1.00618572e+00, 2.58107169e+00, -4.27362432e-02, -7.36536684e+00,
9.88352871e+00, 7.96049525e+00, -4.65054797e+00, 1.46904648e+01,
5.48304537e+00, -1.57010321e+01, 1.37958376e+00, -2.07688520e+01,
-1.11889429e+00, 1.18593076e+01, -4.12181483e+00, 1.85010028e+01,
-6.06228920e-01, -1.49246517e+01, -2.18903475e+01, 1.59453018e+00,
3.39793297e-01, 5.88182830e+00, -2.29622031e+00, 1.84857575e+01,
9.53363234e+00, -4.48307416e+00, 2.18499596e+00, -1.03949179e+01,
-1.08798819e+01, -1.72250150e+01, 1.59179725e+00, -5.86271494e+00,
3.80143975e+00, 7.09630678e+00, 1.22733204e+01, 1.13708378e+01,
1.32922762e+01, 6.75763570e+00, -3.04883073e+00, -1.81387446e+01,
1.29978861e+01, -7.50085897e+00, -1.10276914e+00, 4.58489634e+00,
-1.20272200e+01, -6.17350076e+00, -3.40748027e+00, -1.96507043e+01,
5.79614538e+00, 1.37013808e+01, 1.11279589e+01, 4.38952976e-01,
6.39552701e+00, 4.63781567e+00, 6.18426113e+00, 5.36920325e+00,
3.01462809e+00, 5.27253941e+00, -9.42627943e+00, 7.13984464e-01,
-1.29520355e+00, 6.68723285e+00, -7.88690003e-01, 8.32413459e+00,
-4.98686028e+00, 5.96928063e-01, 1.15291352e+00, -2.37287850e+01,
2.89397550e+00, -4.94805007e+00, -5.55666756e-01, -2.94290886e+00,
-1.54423448e+01, -1.97460080e+00, -8.56213739e+00, -1.70638033e+00,
-5.67241426e+00, -1.52613697e-01, 5.33160669e+00, 5.53327383e+00,
-1.07286522e+00, -1.75252153e+01, -1.54690194e+01, 1.32502582e+01,
-1.49219657e+01, 7.23499656e+00, -9.05140046e+00, -4.41562525e+00,
2.36363061e+00, -2.46074923e+00, -1.48159253e+00, 2.89604166e+00,
5.04506785e+00, -7.52560797e-02, 2.18125144e+00, -5.13521399e+00,
-3.63279338e+00, 4.65087642e-01, -3.72920057e+00, -6.49326219e+00,
-1.48942594e+00, -8.26748513e+00, -6.83742646e+00, -4.53323990e+00,
-1.06030930e+01, -1.43407467e+01, -8.04754389e-01, 1.28691335e+00,
3.24727378e+00, 2.77969193e+00, 2.96899631e+00, -1.10131693e+01,
-9.82451617e+00, 3.71439650e+00, 2.65728033e+00, 3.80327885e+00,
-2.51748873e+01, 2.75107233e+00, 6.45126081e+00, -3.14476119e+00,
-9.07932543e-01, -1.10069723e+01, -4.56593800e+00, -3.07318308e+00,
5.92096492e+00, -2.31219274e-01, -5.25823821e+00, -2.12843796e+00,
-7.42733547e+00, -1.04222252e+01, -1.63070372e+00, -3.89481987e-01,
-1.11398643e+01, -5.69436674e+00, 2.77683498e-01, 6.07046566e+00,
-2.72743394e+00, 1.40848073e+01, -1.26833745e+01, 1.20830112e+01,
-1.25331628e+01, 5.33466958e+00, 1.30678976e+01, 5.91722666e+00,
1.94386192e+01, 1.76063534e+01, 8.72078886e-01, -3.38425189e+00,
8.21145012e+00, -1.45629263e+01, -1.49651412e+01, -1.27445538e+00,
5.87293131e+00, -4.14242936e+00, 2.43437999e+01, 1.15768116e+01,
6.11726384e+00, -6.95070166e+00, -1.06027577e+01, 1.29018498e+01,
4.31654406e+00, 4.51249794e+00, -1.23268120e+00, -1.95143103e+00,
3.54720946e+00, 9.43812715e+00, 2.94924910e+01, -6.55034451e+00,
2.90355822e+00, -4.02653559e+00, 1.94206781e+01, 1.28089318e+01,
4.89834484e+00, -4.30300346e+00, -1.52139597e+01, 2.28107329e+00,
-7.61286596e-01, -7.16331250e+00, 2.36225412e+00, -2.07704961e+01,
-1.78871312e+01, -1.18206555e+00, -7.77102765e+00, 1.41174776e+01,
-1.60406415e+01, -5.93171012e+00, -1.31208023e+01, -1.26026011e+01,
-2.88341696e+00, 1.09211167e+01, 2.59879422e+01, -2.06777275e+01,
9.31729128e+00, -2.23137818e+00, 8.90442244e+00, -3.88658302e+00,
1.05975305e+01, 1.58745260e+01, 6.95951879e+00, -1.00482361e+01,
-3.21159401e+00, -2.57481923e+00, -3.52200041e+00, 2.76162842e+00,
9.51275084e+00, -6.79062236e+00, 8.04317307e+00, 3.89199955e+00,
2.96305677e+00, 8.11428744e+00, 1.71556641e+01, -7.13419368e-01,
-3.01413888e+00, -1.16492585e+01, 9.86433282e+00, -8.47467773e+00,
-6.07966428e+00, -2.88413051e+00, 1.36687427e+01, -8.41170802e+00,
5.43489677e+00, -1.22099884e+01, 9.67996627e+00, 1.52110036e+01,
2.36885111e+00, 2.04221548e+01, 2.61996593e+01, 3.18656144e+00,
-2.07879886e+00, 8.14420834e+00, -1.22972690e+00, 6.75238771e+00,
-2.60460825e+00, 8.52956694e+00, -1.82196438e+01, 2.66456248e+00,
-7.43481056e+00, 4.42023143e+00, 7.42638125e+00, -1.99496284e+00,
-9.51864455e+00, 1.60039729e-01, -1.35301634e+00, -5.72774123e+00,
-3.92254584e+00, 1.05909706e+01, 1.78246633e+01, -1.46335531e+01,
-1.30794050e+01, 8.07403366e+00, 4.14857051e+00, -1.68616963e+01,
-1.88178331e+01, -4.19670960e+00, 1.54817726e+00, 5.86463780e+00,
-6.98933899e+00, 6.91547633e+00, 4.69166316e+00, 4.66058601e-02,
-1.26598971e+01, 1.99511061e+01, 1.12248648e+01, -1.12766958e-01,
-9.22995880e+00, 6.54171861e+00, -9.61762562e+00, 3.67547174e+00,
-6.26874930e+00, -2.08594584e+00, -6.31086957e+00, -1.61531281e+01,
-1.43289973e+01, 9.57218647e+00, -1.68553211e+01, -3.39416498e+00,
-9.51469623e+00, 4.53948089e-01, 1.82710684e+00, 3.69504474e+00,
-3.90911889e-02, -1.04631704e+01, -8.26337726e+00, 2.42451779e+00,
3.59812981e+00, 2.45482372e+00, 6.89479331e+00, -1.50987978e+01,
-9.21150337e-01, 4.07972133e+00, -2.39254378e-01, -2.20907398e+01,
-6.94448972e+00, 6.64445034e+00, 4.39214512e-01, 3.79101809e+00,
2.95704972e+00, -1.72960707e+01, -3.79898843e+00, -1.37943569e+01,
1.46038899e+00, -1.15690699e+01, -8.68239812e+00, 1.42406994e+01,
1.09295290e+01, -1.60712890e+01, 1.17511189e+01, -1.77437862e+01,
4.64659762e+00, 7.92162377e+00, 2.35570975e+01, 1.62380859e+00,
9.11594191e+00, 2.64197336e+00, -1.68372187e+01, -1.36171640e+01,
-6.63718008e+00, -3.45199391e+00, 1.45554891e+00, 7.62147575e-02,
2.34939790e-01, -8.73278235e+00, 3.38958197e+00, 4.28512136e+00,
-2.32960180e+01, 2.10817690e+01, 1.36588103e+01, -1.05791867e+01,
-2.28684945e+00, 3.14479774e+00, 1.07449250e+01, 8.72844932e-01,
1.26658332e+01, 2.19795428e+00, -7.28418260e+00, 5.13828512e+00,
4.58449223e+00, -7.96819858e+00, -5.50249794e+00, 1.22239508e+01,
-6.14282811e+00, 1.07143209e+01, 6.86726130e+00, 4.96387942e+00,
8.75682611e+00, -2.12341469e+01, -2.75546285e-01, -9.58052290e+00,
-9.45556005e-01, -5.97505808e+00, -3.62200331e-01, -1.36166856e+01,
-1.38174801e+00, -3.95673644e+00, 5.70557823e+00, 2.23935496e+01,
1.16122227e+01, 1.66972418e+01, 2.62830768e+00, 1.22573162e+01,
-1.02731741e+01, 6.88332222e+00, 5.78536994e+00, -7.25509373e+00,
-1.35500013e+01, 7.12528522e+00, 1.33026672e+01, 6.19505400e+00,
2.94474051e+00, -1.13255400e+01, 1.90172192e+00, -7.96386054e+00,
-2.64843934e-01, -2.32412520e+00, 3.08123455e+00, 2.96346236e+00,
1.21504253e+00, 4.54533708e+00, 5.02723462e+00, 2.73717147e+01,
1.67596823e+01, -1.73257046e+01, -5.74660235e+00, -5.79066052e+00,
5.35235387e+00, 4.87049789e+00, 6.26115607e+00, 1.65789680e+01,
3.24439062e+00, -1.68719736e+00, 1.74676227e+01, 1.33891479e+01,
9.20631460e+00, 1.91294792e+00, -7.11829873e+00, -2.58508925e+00,
7.22146705e+00, 4.97195271e+00, -5.06432874e+00, 2.13917708e-01,
4.81350824e+00, 1.02622706e+00, 1.30440320e-01, 1.05627935e+01,
7.34642735e+00, -5.02846166e+00, 3.84841017e+00, -2.47083457e+01,
7.01754625e+00, -8.33728653e+00, 1.09369785e+01, -8.15565372e+00,
1.39643337e+01, 3.13317965e+00, 7.10461891e+00, 8.98356703e+00,
-1.42653307e+01, 4.16916480e+00, 1.49357178e+01, 1.10027169e+01,
-1.40657965e+00, 1.51184224e+01, 1.10419235e+01, -1.18400428e+01,
-3.20526901e+00, 1.50505632e+00, -1.55249392e+00, -7.94160409e+00,
1.29373133e+01, 2.23897203e+00, -2.14207198e+01, -7.32298818e+00,
6.76592283e+00, -5.55194814e+00, 1.32986618e+01, -8.34712220e+00,
-4.47296284e+00, 5.71259884e+00, -4.86946293e+00, -4.17179560e+00,
-5.99078466e+00, -9.58180840e-01, -2.21598111e+00, -1.26057153e+01,
-2.36937421e+00, 3.97749489e+00, 1.42146977e+01, -1.24641593e+01,
-6.27693791e+00, -9.47103057e+00, -3.72900561e+00, -4.19390518e+00,
1.97089833e+00, -2.07626149e+00, 2.72143362e+00, 4.62736365e+00,
-8.91304794e+00, -2.11297762e+01, 6.21791204e-01, 2.88136885e+00,
4.55831636e+00, 1.02267627e+01, 2.84339767e+00, -2.85977318e+00,
-1.11194463e+01, 1.56053230e-01, -1.32215179e+00, -3.99418611e-01,
-9.53031664e+00, -2.82145028e+01, 4.15640962e+00, -1.00844895e+01,
-8.65936665e+00, -1.72159902e+01, 4.71493303e+00, 5.37208093e+00,
1.40000023e+01, -1.28621623e+01, -1.08404008e+01, -1.96248930e+01,
-1.50873792e+01, 1.07507674e+01, 5.11444528e+00, -1.18709557e+01,
5.00213141e+00, 1.63411210e+01, -8.14943201e+00, 3.88300452e+00,
-2.01567374e+00, 2.43506234e+00, -1.06342114e+01, -1.47283766e+00,
-1.27915816e+01, 5.52669025e+00, -1.00036619e+01, -5.06353077e+00,
-1.05909924e+01, -3.11374426e+00, 1.16193234e+01, 7.03864686e+00,
1.26298175e+00, 1.70431133e-01, -1.96023076e+01, 6.42844345e+00,
-8.66861030e+00, -1.19958974e+00, 8.23115576e+00, 1.81604952e+01,
-7.45697924e+00, 3.58438247e+00, -6.92828771e+00, 5.67586890e+00,
1.03554550e+01, 4.26062534e+00, 1.55854297e+01, -1.18662399e+01,
7.69244628e+00, 1.33172725e+01, 1.70972229e+01, -1.11796699e+01,
-1.24531129e+00, -5.01207895e+00, -5.33294997e+00, -6.07929452e+00,
-2.98263556e+00, -1.20127522e+00, 1.26257803e+01, -1.03081593e+01,
-5.71514210e+00, 1.12465382e+01, -1.07039557e+01, -4.80521097e+00,
2.74139535e+00, -9.76040666e+00, -6.74064352e-01, 6.76098102e+00,
-3.00715367e-01, -5.35241674e+00, 5.92103996e+00, -6.47736635e+00,
5.19631722e+00, -5.03580701e+00, 5.88669661e+00, 1.15755111e+00,
9.14822602e+00, 1.19522863e+00, 6.23091378e+00, -6.44139792e+00,
-5.48831394e+00, -2.71587030e+00, -7.69558387e+00, -2.74664151e+01,
1.96127757e+00, -1.03928999e+01, -5.60875016e+00, 1.45097939e+01,
1.26259949e+01, 1.02828990e+01, -3.73277738e+00, -2.63590922e+01,
-8.77564714e+00, 7.18858353e+00, 1.09148639e+01, -1.32358439e+01,
3.32307407e+00, -1.71247950e+01, 1.48713691e+00, -4.75918401e+00,
-9.76928987e-01, 8.70632910e+00, 5.30968050e+00, -2.41230973e+01,
1.07004570e+00, 7.57114518e+00, -1.14879188e+01, 7.89202294e+00,
-2.70540647e+00, 1.81341117e-01, 5.92414417e+00, 8.02192605e-01,
-8.82425360e+00, -3.07814124e+00, -1.17389963e+01, 5.82072662e+00,
-4.24824408e-01, 1.28024919e+01, 3.73438049e-01, -1.53272707e+00,
-1.15244472e+01, 9.64633703e+00, 1.42744549e+01, -8.94739088e+00,
9.04013493e+00, -2.03171021e+00, 5.12428910e+00, -2.68376075e+00,
-2.84135824e+00, 1.37998436e+01, 1.62323436e+01, -7.72832892e+00,
1.03992671e+01, 3.84045326e+00, -9.66128477e+00, 2.72057827e+00,
1.55710216e+01, -1.23005830e+01, 4.50189969e+00, 8.96188792e+00,
-2.69401187e-01, 1.45851396e+01, 1.28445203e+01, -6.67863329e+00,
1.08385405e-01, -2.39592487e+01, -6.27698226e+00, 1.36512045e+01,
9.98593224e+00, 2.21382228e+00, 2.17904341e+00, 7.70338542e+00,
-3.41622385e-01, -2.73545368e+01, 5.91981026e+00, 1.03522968e+01,
-5.37019202e+00, -7.88469226e+00, 5.58073738e+00, 2.61686131e-01,
9.05392204e+00, 4.61843263e+00, 3.98152372e+00, 5.02037322e+00,
-1.55319936e+01, 8.79414425e+00, -1.42306704e+00, -2.06672296e+00,
-1.33188732e+01, -6.20628641e-01, -1.07688318e+01, -2.99761429e+00,
-5.00059264e+00, -1.19987941e+01, -4.82571158e+00, -8.67287456e+00,
1.70183423e+00, 1.40583548e+01, 9.16755186e-01, 1.73381654e+01,
6.98219537e+00, 7.38508895e+00, -1.06117539e+00, 2.06770791e+00,
-1.55080167e+00, 1.28943193e+01, 7.12362453e+00, -1.26528967e+01,
7.64246262e+00, 1.36871065e+01, 1.59682588e+01, -4.11463715e+00,
4.97141702e+00, -1.80033357e+01, 2.09458692e+01, -3.12998178e+00,
-1.02409899e+01, -1.35220345e+01, 9.65270467e+00, 2.08218220e+01,
1.32699550e+01, -6.18685517e-01, 4.28975123e+00, 7.58221733e+00,
-7.93480549e+00, -1.88636912e+01, 1.37934078e+01, 1.67319350e+01,
-5.73789367e+00, -5.79589054e+00, -1.16803633e+01, -9.93448235e+00,
-3.45313904e+00, -3.71674288e-01, -4.27872770e+00, -1.80612118e+01,
-1.26003837e+00, -3.83168562e+00, -6.61611233e-01, 1.69840062e+01,
5.61999542e+00, -1.09182870e+01, -7.56294995e+00, -8.79295307e+00,
-1.49720308e+01, 6.06106335e+00, -3.77569295e+00, 9.90857786e+00,
-7.60588717e+00, -8.57246072e+00, -7.39973085e+00, 1.23916489e+01,
2.04301257e+01, -3.41922220e-01, -4.94450626e+00, 1.43152479e+01,
1.17232905e+01, 1.99046155e+00, 1.68643495e+01, 1.02653971e+01,
1.65676515e+01, 2.73067538e-01, 1.10439582e+00, -8.35798184e+00,
1.07222908e+01, 2.08301101e+01, 1.22625832e+01, 1.60727398e+01,
-8.14177149e+00, -5.97875831e+00, 1.82791660e+01, -6.80734301e+00,
9.85967800e-02, -1.91348987e+01, 6.21961756e+00, 1.84125053e+01,
5.02399923e+00, 1.37680444e+01, 7.08302237e+00, 3.01613238e+00,
6.65587448e+00, -8.14130680e+00, -4.16904766e+00, -2.81149509e+00,
2.09129924e+01, 3.77790868e+00, -1.16478710e+00, 4.76051158e+00,
-8.87746712e-01, 4.34672766e+00, -1.77402261e+01, -6.00444561e+00,
-1.87467801e+00, -3.99221542e-01, 3.61766841e+00, -4.45747211e+00,
-1.71018551e+00, -8.11260743e+00, 1.09180496e+01, 5.98437897e+00,
3.66530294e+00, -7.82743440e+00, -7.48619355e+00, -2.05438896e+01,
-4.20750111e+00, -6.67981834e+00, 1.13505314e+01, -2.01583758e+00,
4.36797556e+00, -3.75799506e+00, 2.89902509e+00, 6.88251587e+00,
1.21869301e+01, 1.11706995e+01, -1.34710118e+01, 6.04379128e+00,
-3.38340758e+00, -8.97297840e+00, -4.87757645e+00, 1.74386430e+00,
4.59129055e+00, -4.31558477e+00, -5.18078773e+00, -5.11262642e+00,
5.02403852e+00, -4.41089756e+00, -7.91549115e+00, 4.41301790e+00,
-5.63308595e+00, -1.20480602e+01, -4.36091196e-01, -2.39089120e+00,
-1.32650671e+00, -1.01543548e+01, 1.49363285e+01, -6.65845173e+00,
-2.19626901e+00, 7.44679057e-01, 1.48943984e+01, -6.36674611e+00,
-8.97486231e+00, -3.65124116e+00, -4.26871364e+00, 7.38989034e+00,
-1.80787446e+01, -1.28573283e+01, -5.99318744e+00, -1.07297609e+00,
-1.31338082e+01, -5.32111992e+00, -1.01756270e+01, 3.90541978e-01,
-1.03156287e+01, -4.46882454e+00, -1.37633687e+00, 8.94025824e+00,
-1.83305127e+01, -2.23346356e+00, -1.52458406e+01, -5.34366722e+00,
-5.77149178e+00, -3.77706052e+00, 2.75855749e+00, -5.33012342e+00,
1.48543331e+01, -1.96990755e+00, 5.12880368e+00, 1.62519988e+00,
2.13587906e+01, -1.53509624e+01, 4.23311115e+00, -1.41897390e+00,
8.82226674e-02, -4.72032501e+00, -1.59700345e+01, 2.29538247e-02,
8.37570829e+00, -2.92345557e+00, 2.65735709e+00, 4.30445862e+00,
3.44582495e+00, -4.14280951e+00, -5.32273072e+00, 1.21096453e+01,
9.90274473e+00, -6.76885498e-01, 2.00162133e+01, -9.24474495e+00,
-4.30156317e-02, -3.16004272e+00, -1.55057872e+00, -1.57793598e+01,
4.37848873e+00, 2.31612477e+01, -1.76163854e+01, 5.84143293e+00,
-1.27018025e+00, 8.51313444e+00, 7.95875526e+00, -6.12441159e+00,
-1.65282673e+01, -9.96722930e+00, 1.46247436e+01, 6.16185448e+00,
-3.41995265e-01, 6.92652328e+00, -2.23247041e+00, 1.45988219e+01,
1.56426706e+01, 1.62571975e+00, -1.39459419e+01, 4.95491584e+00,
2.53596985e+00, 5.44711504e+00, -1.51832940e+01, -1.04741042e+01,
1.33756556e+01, 5.57014996e+00, -4.60458224e+00, 6.59638271e+00,
-8.42971637e+00, -2.86141192e+00, -6.90717321e+00, 2.49252299e+01,
-1.61935471e+00, -7.95782574e+00, -1.86068721e+01, -5.74164851e+00,
1.77852621e+00, 7.23436621e+00, -7.13059218e-02, -2.37789340e+00,
2.48210261e+00, -9.69417886e+00, 9.66901638e+00, 1.98246429e+01,
4.48961969e+00, 1.23037837e+00, -4.86839819e+00, 2.42365712e+00,
-4.45767656e+00, -5.11232961e+00, -5.68991136e-01, 1.53378990e+00,
-1.25951053e+01, -5.81970081e+00, 8.18555068e+00, 4.07613508e+00,
2.62218391e+00, 1.08563674e+01, -1.76839876e+00, 3.39599383e+00,
7.65030500e-01, 1.08101823e+00, 3.86619073e+00, 1.05236238e+01,
-2.65547351e+00, 1.21669803e+01, 1.50665210e+00, 9.89904831e-01,
-4.14899807e+00, 1.10408980e+01, -1.54699720e+01, 1.75923554e+01,
-4.69653322e+00, 1.09452060e+01, 1.18945593e+01, -1.62705732e+01,
-5.29097637e-01, -4.28305980e+00, -3.05932805e+00, -1.41077402e+01,
7.75900280e+00, 6.35838295e+00, -1.06166401e+01, 1.73456736e+00,
-8.38317988e-01, 1.30127432e+01, -5.61506272e+00, -6.28929183e+00])
plt_gauss = sns.displot(data_g,bins=20,color="r",kde=True,rug=True,)
Summary / Practical Case¶
‘Old Style’ plot parameters¶
x_val = np.linspace(-4,5,20)
y_val = x_val**2-2*x_val-7
df_xy = pd.DataFrame({'xx':x_val,'yy':y_val})
plt_xy = sns.relplot(data=df_xy,x='xx',y='yy')
plt_xy = sns.relplot(data=df_xy,x='xx',y='yy',
kind="line",marker="d",
markersize=9,markerfacecolor="red",
markeredgecolor="green",
color="gray",linestyle="--",linewidth=3)
plt.xlabel('x values')
plt.ylabel('y values')
plt.title(r'$x^2-2x-7$')
plt.show()
Pretty much all the useful set¶
N = 10
data2 = pd.DataFrame(np.empty((N*N,3),int),columns=['x','y','val'])
k = 0
for i in range(N):
for j in range(N):
data2.iloc[k,:] = [i,j,np.random.rand()]
k += 1
data2
| x | y | val | |
|---|---|---|---|
| 0 | 0 | 0 | 0.431782 |
| 1 | 0 | 1 | 0.065295 |
| 2 | 0 | 2 | 0.447773 |
| 3 | 0 | 3 | 0.591480 |
| 4 | 0 | 4 | 0.202280 |
| ... | ... | ... | ... |
| 95 | 9 | 5 | 0.152586 |
| 96 | 9 | 6 | 0.630253 |
| 97 | 9 | 7 | 0.186234 |
| 98 | 9 | 8 | 0.898645 |
| 99 | 9 | 9 | 0.865413 |
100 rows × 3 columns
data2['xymod'] = np.mod(data2.x+data2.y,5)
data2
| x | y | val | xymod | |
|---|---|---|---|---|
| 0 | 0 | 0 | 0.431782 | 0 |
| 1 | 0 | 1 | 0.065295 | 1 |
| 2 | 0 | 2 | 0.447773 | 2 |
| 3 | 0 | 3 | 0.591480 | 3 |
| 4 | 0 | 4 | 0.202280 | 4 |
| ... | ... | ... | ... | ... |
| 95 | 9 | 5 | 0.152586 | 4 |
| 96 | 9 | 6 | 0.630253 | 0 |
| 97 | 9 | 7 | 0.186234 | 1 |
| 98 | 9 | 8 | 0.898645 | 2 |
| 99 | 9 | 9 | 0.865413 | 3 |
100 rows × 4 columns
plt2 = sns.relplot(data=data2,x='x',y='y',hue='val',
size='val',style='xymod')
#k=plt.legend(bbox_to_anchor=(1.8,1.01),loc='upper right')
#plt.show()
plt3 = sns.relplot(data=data2,x='x',y='y',hue='val',
size='val',style='xymod',col=np.mod(data2.xymod,2))
plt.show()