Notebook for analysing tide measurement data for 1512 tide gauges worldwide. I use the Revised Local Reference (RLR) data set from Permanent Service of Mean Sea Level . The RLR datum is set to 7000 mm below mean sea level therefore the values are all in the range of 6000 to 8000 mm.
All UK tide gauge data is included in the PSMSL data set, most of the data from the University of Hawaii is included as well.
Data source is Permanent Service of Mean Sea Level (http://www.psmsl.org/data/obtaining/complete.php, RLR monthly)
Data set with monthly mean data.
Data has been obtained on 30 January 2019.
%matplotlib inline
from IPython.core.interactiveshell import InteractiveShell
from datetime import datetime
import glob
import os
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib
import json
import matplotlib.pyplot as plt
InteractiveShell.ast_node_interactivity = "all"
pd.options.display.max_rows = 200
#matplotlib.rcParams['svg.fonttype'] = 'none'
#parse errorflags
stations_errorflag = 'data/psmsl_data/filelist.txt'
errors = pd.read_csv(stations_errorflag, sep=';', header=None, usecols=[0, 6], names=['id', 'latitude', 'longitude', 'locataion', 'coastline', 'station', 'flag' ])
#parse meta data
meta_info = 'data/metadata_psmsl.csv'
stations = pd.read_csv(meta_info, header=0, names=['location', 'ID', 'latitude', 'longitude', 'gloss id', 'country', 'date', 'coastline', 'station'])
#comibe meta data and error flags
stations = stations.merge(errors, left_on='ID', right_on='id')
stations = stations.drop('ID', 1)
len(errors)
len(stations)
stations.head()
1512
1512
location | latitude | longitude | gloss id | country | date | coastline | station | id | flag | |
---|---|---|---|---|---|---|---|---|---|---|
0 | REYKJAVIK | 64.151 | -21.940 | 229.0 | ISL | 27/06/2018 | 10 | 1 | 638 | N |
1 | GRINDAVIK | 63.833 | -22.433 | NaN | ISL | 01/01/1980 | 10 | 11 | 877 | N |
2 | TORSHAVN | 62.017 | -6.767 | 237.0 | FRO | 30/10/2007 | 15 | 11 | 839 | N |
3 | BARENTSBURG | 78.067 | 14.250 | 231.0 | SJM | 09/01/2018 | 25 | 1 | 541 | N |
4 | BARENTSBURG II (SPITSBERGEN) | 78.067 | 14.250 | 231.0 | SJM | 17/01/2003 | 25 | 2 | 547 | N |
#convert capitals to lowercase with a capitalized first letter
def convert_location_names(str):
conversion = str.title()
return conversion
stations['location'] = stations['location'].apply(convert_location_names)
#parse file
def parse_tides(filename):
filepath = 'data/psmsl_data/data/' + str(filename) + '.rlrdata'
df = pd.read_csv(filepath, sep=';', header=None, names=['year-month', 'tide', 'missing day', 'flag for attention'])
df['flag for attention'] = df['flag for attention'].apply(lambda x: '{0:0>3}'.format(x))
df['year'] = df['year-month'].apply(np.floor).astype('int')
df['month'] = ((((df['year-month'] - df['year'])*24)+1)/2).apply(np.around).astype('int')
df['day'] = 1 #due the monthly averages, no days are present, set days to 1
df['timestamp'] = pd.to_datetime(df[['year', 'month', 'day']], errors='coerce')
df['ID'] = filename
df['ID'] = df['ID'].astype('int')
df = df.drop('year-month', 1)
df = df.drop('year', 1)
df = df.drop('month', 1)
df = df.drop('day', 1)
#print (filepath)
return df
#filepath for complete tide data set
filepath = 'data/psmsl_data/tideData_psmsl_complete.csv'
if os.path.exists(filepath):
df = pd.read_csv(filepath, usecols=[1,2,3,4,5])
df['flag for attention'] = df['flag for attention'].apply(lambda x: '{0:0>3}'.format(x))
df['timestamp'] = pd.to_datetime(df['timestamp'], errors='coerce')
else:
df = pd.concat([parse_tides(f) for f in stations['id']])
#replace null values
df['tide'] = df['tide'].replace(-99999,np.nan)
df.to_csv(filepath)
df['ID'].nunique()
df.head()
1512
tide | missing day | flag for attention | timestamp | ID | |
---|---|---|---|---|---|
0 | 6980.0 | 0 | 000 | 1956-05-01 | 638 |
1 | 6840.0 | 0 | 000 | 1956-06-01 | 638 |
2 | 6890.0 | 0 | 000 | 1956-07-01 | 638 |
3 | 6830.0 | 0 | 000 | 1956-08-01 | 638 |
4 | 6830.0 | 0 | 000 | 1956-09-01 | 638 |
df = df.merge(stations, left_on='ID', right_on='id')
df = df.drop('id', 1)
df['ID'].nunique()
df.head()
1512
tide | missing day | flag for attention | timestamp | ID | location | latitude | longitude | gloss id | country | date | coastline | station | flag | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 6980.0 | 0 | 000 | 1956-05-01 | 638 | Reykjavik | 64.151 | -21.94 | 229.0 | ISL | 27/06/2018 | 10 | 1 | N |
1 | 6840.0 | 0 | 000 | 1956-06-01 | 638 | Reykjavik | 64.151 | -21.94 | 229.0 | ISL | 27/06/2018 | 10 | 1 | N |
2 | 6890.0 | 0 | 000 | 1956-07-01 | 638 | Reykjavik | 64.151 | -21.94 | 229.0 | ISL | 27/06/2018 | 10 | 1 | N |
3 | 6830.0 | 0 | 000 | 1956-08-01 | 638 | Reykjavik | 64.151 | -21.94 | 229.0 | ISL | 27/06/2018 | 10 | 1 | N |
4 | 6830.0 | 0 | 000 | 1956-09-01 | 638 | Reykjavik | 64.151 | -21.94 | 229.0 | ISL | 27/06/2018 | 10 | 1 | N |
len(df)
725650
df.to_csv('data/psmsl_data_complete_including_metadata.csv')
Data flagged for attention: 001 means data should be treated with caution, 010 indicates a mean tidal level (MTL) value in a mean sea level (MSL) time series
df.flag = df.flag.str.strip()
df['missing day'] = df['missing day'].replace("99",np.nan)
data_flagged = df[(df['flag for attention'] == '011')]
#data_flagged.sort_values('missing day', ascending=False)
data_without_flag = df[df['flag for attention'].isin(['001', '011']) == False]
#data_without_flag = df[df['flag for attention'].isin(['011']) == False]
#data_without_flag.sort_values('flag for attention')
data_without_flag.shape
df.shape
#89 Location sind geflaggt mit 001 und eine Location mit 011, gesamte Anzahl Locations 1478
(723605, 14)
(725650, 14)
df = data_without_flag
data_flagged = df[(df['flag for attention'] == '011')]
data_flagged
tide | missing day | flag for attention | timestamp | ID | location | latitude | longitude | gloss id | country | date | coastline | station | flag |
---|
#function that evaluates how many empty values a station has and start and end of each station
def empty_values(dataframe):
station = dataframe.set_index('timestamp').tide.resample('1A').mean()
first_year = station.first_valid_index().year
last_year = station.last_valid_index().year
count_missing = station.isnull().sum()
count_values = station.count()
#tide_first = station.iloc[0]
#station = station.sort_values(ascending=False)
#tide_last = station.iloc[0]
#tide_change = tide_last - tide_first
result = {}
result['Start'] = first_year
result['End'] = last_year
result['Valid Data Points'] = count_values
result['Missing Data Points'] = count_missing
return pd.Series(result) #create a series
#call function and collect all data
#clean_data = df.groupby(['Location', 'Country']).apply(empty_values).sort_values('Valid Data Points', ascending=False)
#clean_data = df.groupby(['ID']).apply(empty_values).sort_values('Valid Data Points', ascending=False)
#reset index
#clean_data = clean_data.reset_index()
data_subset_1985_2016 = df.set_index(['timestamp'])
data_subset_1985_2016 = data_subset_1985_2016.loc['1985-01-01':'2016-12-01']
data_subset_1985_2016 = data_subset_1985_2016.reset_index()
clean_data = data_subset_1985_2016.groupby(['ID']).apply(empty_values).sort_values('Valid Data Points', ascending=False)
clean_data = clean_data.reset_index()
data_subset_1985_2016_clean = clean_data[(clean_data['Start'] <= 1985)
& (clean_data['Valid Data Points'] >= 21)
& (clean_data['End'] >= 2010) ]
data_subset_1985_2016_clean
data_subset_1985_2016_clean['ID'].nunique()
ID | End | Missing Data Points | Start | Valid Data Points | |
---|---|---|---|---|---|
0 | 1 | 2016 | 0 | 1985 | 32 |
1 | 1067 | 2016 | 0 | 1985 | 32 |
2 | 1065 | 2016 | 0 | 1985 | 32 |
3 | 1062 | 2016 | 0 | 1985 | 32 |
4 | 1060 | 2016 | 0 | 1985 | 32 |
5 | 1037 | 2016 | 0 | 1985 | 32 |
6 | 1036 | 2016 | 0 | 1985 | 32 |
7 | 1028 | 2016 | 0 | 1985 | 32 |
8 | 1027 | 2016 | 0 | 1985 | 32 |
9 | 1026 | 2016 | 0 | 1985 | 32 |
10 | 1001 | 2016 | 0 | 1985 | 32 |
11 | 999 | 2016 | 0 | 1985 | 32 |
12 | 997 | 2016 | 0 | 1985 | 32 |
13 | 996 | 2016 | 0 | 1985 | 32 |
14 | 985 | 2016 | 0 | 1985 | 32 |
15 | 984 | 2016 | 0 | 1985 | 32 |
16 | 982 | 2016 | 0 | 1985 | 32 |
17 | 955 | 2016 | 0 | 1985 | 32 |
18 | 954 | 2016 | 0 | 1985 | 32 |
19 | 953 | 2016 | 0 | 1985 | 32 |
20 | 934 | 2016 | 0 | 1985 | 32 |
21 | 933 | 2016 | 0 | 1985 | 32 |
22 | 837 | 2016 | 0 | 1985 | 32 |
23 | 835 | 2016 | 0 | 1985 | 32 |
24 | 832 | 2016 | 0 | 1985 | 32 |
25 | 829 | 2016 | 0 | 1985 | 32 |
26 | 825 | 2016 | 0 | 1985 | 32 |
27 | 1066 | 2016 | 0 | 1985 | 32 |
28 | 1068 | 2016 | 0 | 1985 | 32 |
29 | 823 | 2016 | 0 | 1985 | 32 |
30 | 1069 | 2016 | 0 | 1985 | 32 |
31 | 1116 | 2016 | 0 | 1985 | 32 |
32 | 1113 | 2016 | 0 | 1985 | 32 |
33 | 1112 | 2016 | 0 | 1985 | 32 |
34 | 1111 | 2016 | 0 | 1985 | 32 |
35 | 1109 | 2016 | 0 | 1985 | 32 |
36 | 1108 | 2016 | 0 | 1985 | 32 |
37 | 1107 | 2016 | 0 | 1985 | 32 |
38 | 1105 | 2016 | 0 | 1985 | 32 |
39 | 1104 | 2016 | 0 | 1985 | 32 |
40 | 1103 | 2016 | 0 | 1985 | 32 |
41 | 1102 | 2016 | 0 | 1985 | 32 |
42 | 1101 | 2016 | 0 | 1985 | 32 |
43 | 1100 | 2016 | 0 | 1985 | 32 |
44 | 1099 | 2016 | 0 | 1985 | 32 |
45 | 1098 | 2016 | 0 | 1985 | 32 |
46 | 1097 | 2016 | 0 | 1985 | 32 |
47 | 1096 | 2016 | 0 | 1985 | 32 |
48 | 1095 | 2016 | 0 | 1985 | 32 |
49 | 1094 | 2016 | 0 | 1985 | 32 |
50 | 1093 | 2016 | 0 | 1985 | 32 |
51 | 1091 | 2016 | 0 | 1985 | 32 |
52 | 1090 | 2016 | 0 | 1985 | 32 |
53 | 1089 | 2016 | 0 | 1985 | 32 |
54 | 1071 | 2016 | 0 | 1985 | 32 |
55 | 1070 | 2016 | 0 | 1985 | 32 |
56 | 824 | 2016 | 0 | 1985 | 32 |
57 | 822 | 2016 | 0 | 1985 | 32 |
58 | 483 | 2016 | 0 | 1985 | 32 |
59 | 637 | 2016 | 0 | 1985 | 32 |
60 | 595 | 2016 | 0 | 1985 | 32 |
61 | 571 | 2016 | 0 | 1985 | 32 |
62 | 567 | 2016 | 0 | 1985 | 32 |
63 | 566 | 2016 | 0 | 1985 | 32 |
64 | 564 | 2016 | 0 | 1985 | 32 |
65 | 563 | 2016 | 0 | 1985 | 32 |
66 | 541 | 2016 | 0 | 1985 | 32 |
67 | 539 | 2016 | 0 | 1985 | 32 |
68 | 538 | 2016 | 0 | 1985 | 32 |
69 | 526 | 2016 | 0 | 1985 | 32 |
70 | 523 | 2016 | 0 | 1985 | 32 |
71 | 522 | 2016 | 0 | 1985 | 32 |
72 | 521 | 2016 | 0 | 1985 | 32 |
73 | 520 | 2016 | 0 | 1985 | 32 |
74 | 518 | 2016 | 0 | 1985 | 32 |
75 | 510 | 2016 | 0 | 1985 | 32 |
76 | 509 | 2016 | 0 | 1985 | 32 |
77 | 508 | 2016 | 0 | 1985 | 32 |
78 | 499 | 2016 | 0 | 1985 | 32 |
79 | 498 | 2016 | 0 | 1985 | 32 |
80 | 497 | 2016 | 0 | 1985 | 32 |
81 | 489 | 2016 | 0 | 1985 | 32 |
82 | 487 | 2016 | 0 | 1985 | 32 |
83 | 486 | 2016 | 0 | 1985 | 32 |
84 | 485 | 2016 | 0 | 1985 | 32 |
85 | 636 | 2016 | 0 | 1985 | 32 |
86 | 638 | 2016 | 0 | 1985 | 32 |
87 | 819 | 2016 | 0 | 1985 | 32 |
88 | 680 | 2016 | 0 | 1985 | 32 |
89 | 817 | 2016 | 0 | 1985 | 32 |
90 | 816 | 2016 | 0 | 1985 | 32 |
91 | 815 | 2016 | 0 | 1985 | 32 |
92 | 814 | 2016 | 0 | 1985 | 32 |
93 | 813 | 2016 | 0 | 1985 | 32 |
94 | 812 | 2016 | 0 | 1985 | 32 |
95 | 809 | 2016 | 0 | 1985 | 32 |
96 | 808 | 2016 | 0 | 1985 | 32 |
97 | 786 | 2016 | 0 | 1985 | 32 |
98 | 759 | 2016 | 0 | 1985 | 32 |
99 | 758 | 2016 | 0 | 1985 | 32 |
... | ... | ... | ... | ... | ... |
444 | 408 | 2015 | 1 | 1985 | 30 |
448 | 761 | 2014 | 0 | 1985 | 30 |
449 | 2316 | 2014 | 0 | 1985 | 30 |
450 | 468 | 2016 | 2 | 1985 | 30 |
451 | 470 | 2016 | 2 | 1985 | 30 |
453 | 1549 | 2015 | 2 | 1985 | 29 |
454 | 1149 | 2016 | 3 | 1985 | 29 |
455 | 728 | 2013 | 0 | 1985 | 29 |
456 | 764 | 2016 | 3 | 1985 | 29 |
457 | 1495 | 2013 | 0 | 1985 | 29 |
458 | 61 | 2016 | 3 | 1985 | 29 |
459 | 704 | 2013 | 0 | 1985 | 29 |
460 | 1475 | 2013 | 0 | 1985 | 29 |
461 | 642 | 2013 | 0 | 1985 | 29 |
462 | 1468 | 2016 | 3 | 1985 | 29 |
463 | 1449 | 2013 | 0 | 1985 | 29 |
464 | 1448 | 2016 | 3 | 1985 | 29 |
466 | 641 | 2013 | 0 | 1985 | 29 |
467 | 606 | 2013 | 0 | 1985 | 29 |
468 | 604 | 2013 | 0 | 1985 | 29 |
469 | 602 | 2013 | 0 | 1985 | 29 |
470 | 599 | 2013 | 0 | 1985 | 29 |
471 | 598 | 2016 | 3 | 1985 | 29 |
474 | 446 | 2016 | 3 | 1985 | 29 |
475 | 496 | 2013 | 0 | 1985 | 29 |
476 | 1003 | 2013 | 0 | 1985 | 29 |
478 | 910 | 2016 | 3 | 1985 | 29 |
479 | 820 | 2016 | 3 | 1985 | 29 |
480 | 841 | 2013 | 0 | 1985 | 29 |
483 | 917 | 2013 | 0 | 1985 | 29 |
484 | 353 | 2013 | 0 | 1985 | 29 |
486 | 593 | 2016 | 4 | 1985 | 28 |
487 | 5 | 2016 | 4 | 1985 | 28 |
488 | 173 | 2012 | 0 | 1985 | 28 |
492 | 729 | 2012 | 0 | 1985 | 28 |
493 | 205 | 2014 | 2 | 1985 | 28 |
495 | 258 | 2016 | 4 | 1985 | 28 |
499 | 425 | 2016 | 4 | 1985 | 28 |
500 | 1473 | 2016 | 4 | 1985 | 28 |
502 | 374 | 2016 | 4 | 1985 | 28 |
503 | 1329 | 2016 | 4 | 1985 | 28 |
505 | 1156 | 2016 | 4 | 1985 | 28 |
507 | 1637 | 2016 | 4 | 1985 | 28 |
510 | 1421 | 2016 | 4 | 1985 | 28 |
511 | 1392 | 2013 | 4 | 1985 | 28 |
514 | 543 | 2014 | 2 | 1985 | 28 |
515 | 1192 | 2016 | 4 | 1985 | 28 |
516 | 810 | 2012 | 0 | 1985 | 28 |
518 | 826 | 2016 | 5 | 1985 | 27 |
519 | 1270 | 2014 | 3 | 1985 | 27 |
521 | 131 | 2011 | 1 | 1985 | 27 |
523 | 685 | 2011 | 0 | 1985 | 27 |
525 | 1297 | 2016 | 5 | 1985 | 27 |
527 | 1266 | 2011 | 0 | 1985 | 27 |
529 | 1215 | 2011 | 0 | 1985 | 27 |
530 | 1232 | 2011 | 0 | 1985 | 27 |
532 | 1345 | 2011 | 0 | 1985 | 27 |
533 | 1346 | 2011 | 2 | 1985 | 27 |
535 | 635 | 2011 | 1 | 1985 | 27 |
536 | 137 | 2016 | 5 | 1985 | 27 |
537 | 397 | 2016 | 5 | 1985 | 27 |
539 | 118 | 2011 | 0 | 1985 | 27 |
540 | 640 | 2011 | 0 | 1985 | 27 |
541 | 1638 | 2016 | 5 | 1985 | 27 |
542 | 828 | 2011 | 0 | 1985 | 27 |
543 | 471 | 2016 | 5 | 1985 | 27 |
546 | 1364 | 2011 | 1 | 1985 | 27 |
547 | 213 | 2016 | 6 | 1985 | 26 |
549 | 1395 | 2013 | 3 | 1985 | 26 |
550 | 569 | 2010 | 0 | 1985 | 26 |
551 | 1469 | 2016 | 6 | 1985 | 26 |
554 | 71 | 2016 | 6 | 1985 | 26 |
557 | 601 | 2012 | 2 | 1985 | 26 |
560 | 409 | 2016 | 6 | 1985 | 26 |
561 | 438 | 2013 | 3 | 1985 | 26 |
562 | 411 | 2016 | 6 | 1985 | 26 |
568 | 1195 | 2016 | 7 | 1985 | 25 |
570 | 634 | 2011 | 2 | 1985 | 25 |
572 | 1161 | 2013 | 4 | 1985 | 25 |
574 | 1628 | 2016 | 7 | 1985 | 25 |
585 | 51 | 2015 | 6 | 1985 | 25 |
600 | 836 | 2016 | 8 | 1985 | 24 |
602 | 469 | 2016 | 8 | 1985 | 24 |
603 | 605 | 2013 | 5 | 1985 | 24 |
605 | 3 | 2015 | 8 | 1985 | 24 |
616 | 414 | 2013 | 5 | 1985 | 24 |
621 | 1643 | 2016 | 8 | 1985 | 24 |
638 | 369 | 2014 | 6 | 1985 | 24 |
646 | 2021 | 2016 | 9 | 1985 | 23 |
659 | 2215 | 2016 | 9 | 1985 | 23 |
660 | 474 | 2016 | 9 | 1985 | 23 |
663 | 375 | 2010 | 3 | 1985 | 23 |
664 | 600 | 2013 | 6 | 1985 | 23 |
676 | 936 | 2015 | 10 | 1985 | 22 |
685 | 787 | 2016 | 10 | 1985 | 22 |
686 | 537 | 2016 | 10 | 1985 | 22 |
690 | 1501 | 2016 | 10 | 1985 | 22 |
691 | 950 | 2016 | 11 | 1985 | 21 |
692 | 612 | 2012 | 7 | 1985 | 21 |
696 | 1423 | 2013 | 8 | 1985 | 21 |
519 rows × 5 columns
519
data_subset_1985_2016_clean = data_subset_1985_2016_clean.merge(df, left_on='ID', right_on='ID')
def yearly_mean(dataframe):
mean_dataframe = dataframe.set_index('timestamp').tide.resample('1A').mean()
mean_dataframe = mean_dataframe.reset_index()
return pd.DataFrame(mean_dataframe)
def rolling_mean(dataframe):
mean_dataframe = dataframe.set_index('timestamp').tide.resample('1A').mean()
mean_dataframe = mean_dataframe.rolling(center=False, window=5, min_periods=1).mean()
mean_dataframe = mean_dataframe.reset_index()
return pd.DataFrame(mean_dataframe)
normal = df.groupby(['ID']).apply(yearly_mean)
rolling = df.groupby(['ID']).apply(rolling_mean)
normal.head()
rolling.head()
timestamp | tide | ||
---|---|---|---|
ID | |||
1 | 0 | 1807-12-31 | 6970.333333 |
1 | 1808-12-31 | 6867.333333 | |
2 | 1809-12-31 | 6954.916667 | |
3 | 1810-12-31 | 6946.416667 | |
4 | 1811-12-31 | 6977.166667 |
timestamp | tide | ||
---|---|---|---|
ID | |||
1 | 0 | 1807-12-31 | 6970.333333 |
1 | 1808-12-31 | 6918.833333 | |
2 | 1809-12-31 | 6930.861111 | |
3 | 1810-12-31 | 6934.750000 | |
4 | 1811-12-31 | 6943.233333 |
#delete rows which are not used for visualization
data_subset_viz = data_subset_1985_2016_clean.drop(['missing day','flag for attention', 'gloss id', 'coastline', 'flag', 'station', 'date'], 1)
#rolling if data for animation, yearly if data for explorer
data_subset_viz = data_subset_viz.groupby(['ID']).apply(rolling_mean)
data_subset_viz = data_subset_viz.reset_index()
#delete rows which are not used for visualization
data_subset_viz = data_subset_viz.drop(['level_1'], 1)
#filter by trend data
#data_subset_viz = data_subset_viz.merge(trends_1985_2014, left_on='ID', right_on='ID')
#add worldbank data
#data_subset_viz = data_subset_viz.merge(worldbank_data, left_on='ID', right_on='ID')
data_subset_viz = data_subset_viz.round()
data_subset_viz.head()
data_subset_viz['ID'].nunique()
ID | timestamp | tide | |
---|---|---|---|
0 | 1 | 1807-12-31 | 6970.0 |
1 | 1 | 1808-12-31 | 6919.0 |
2 | 1 | 1809-12-31 | 6931.0 |
3 | 1 | 1810-12-31 | 6935.0 |
4 | 1 | 1811-12-31 | 6943.0 |
519
data_subset_viz = data_subset_viz.set_index(['timestamp'])
data_subset_viz = data_subset_viz.loc['1985-12-31':'2016-12-31']
data_subset_viz = data_subset_viz.reset_index()
#interpolate missing data in order to make animation smoother
data_subset_viz['tide'] = data_subset_viz['tide'].interpolate()
#data_subset_viz.sort_values('timestamp', ascending=False)
data_subset_viz['ID'].nunique()
519
data_subset_viz = data_subset_viz.merge(stations, left_on='ID', right_on='id')
data_subset_viz = data_subset_viz.drop(['gloss id', 'coastline', 'flag', 'station', 'date', 'id'], 1)
data_subset_viz['year'] = data_subset_viz.timestamp.dt.year
data_subset_viz['ID'].nunique()
519
#function to use first tide measurement as zero reference point
def to_zero(dataframe):
first_value = dataframe['tide'].iloc[0]
dataframe['tide'] = dataframe['tide'] - first_value
dataframe['tide'] = dataframe['tide'].round(decimals=2)
return dataframe
data_subset_viz = data_subset_viz.groupby(['ID']).apply(to_zero)
data_subset_viz['ID'].nunique()
519
data_subset_viz.head()
timestamp | ID | tide | location | latitude | longitude | country | year | |
---|---|---|---|---|---|---|---|---|
0 | 1985-12-31 | 1 | 0.0 | Brest | 48.383 | -4.495 | FRA | 1985 |
1 | 1986-12-31 | 1 | -1.0 | Brest | 48.383 | -4.495 | FRA | 1986 |
2 | 1987-12-31 | 1 | 4.0 | Brest | 48.383 | -4.495 | FRA | 1987 |
3 | 1988-12-31 | 1 | 9.0 | Brest | 48.383 | -4.495 | FRA | 1988 |
4 | 1989-12-31 | 1 | 15.0 | Brest | 48.383 | -4.495 | FRA | 1989 |
data_subset_viz['year'] = data_subset_viz['year'].astype(object)
data_subset_viz.dtypes
timestamp datetime64[ns] ID int64 tide float64 location object latitude float64 longitude float64 country object year object dtype: object
data_subset_viz = data_subset_viz.rename(columns={'ID': 'id'})
data_subset_viz.to_csv('context_data/sealevel_viz_psmsl_1985_2015.csv', index=False)
# shorten data set
data_subset_viz_short = data_subset_viz[['id', 'tide', 'year']]
data_subset_viz_resampled = data_subset_viz_short.pivot(index='id', columns='year', values='tide')
data_subset_viz_resampled = data_subset_viz_resampled.reset_index()
data_subset_viz_resampled
year | id | 1985 | 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1992 | 1993 | ... | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0.0 | -1.0 | 4.0 | 9.0 | 15.0 | 16.0 | 15.0 | 8.0 | 5.0 | ... | 34.0 | 36.0 | 41.0 | 58.0 | 59.0 | 63.0 | 65.0 | 77.0 | 70.0 | 78.0 |
1 | 3 | 0.0 | 0.0 | -4.0 | -8.0 | -4.0 | -10.0 | -24.0 | -29.0 | -41.0 | ... | 32.0 | 30.0 | 38.0 | 42.0 | 47.0 | 53.0 | 52.0 | 27.5 | 3.0 | 3.0 |
2 | 5 | 0.0 | -5.0 | -8.0 | -7.0 | 4.0 | 9.0 | 3.0 | 4.0 | 1.0 | ... | 34.0 | 33.0 | 36.0 | 48.0 | 50.0 | 67.0 | 71.0 | 81.0 | 77.0 | 73.0 |
3 | 7 | 0.0 | -16.0 | -24.0 | -29.0 | -13.0 | 16.0 | 23.0 | 28.0 | 9.0 | ... | 68.0 | 79.0 | 67.0 | 62.0 | 66.0 | 50.0 | 33.0 | 35.0 | 59.0 | 60.0 |
4 | 8 | 0.0 | -11.0 | -1.0 | 0.0 | 25.0 | 34.0 | 29.0 | 28.0 | 18.0 | ... | 31.0 | 42.0 | 42.0 | 49.0 | 59.0 | 53.0 | 50.0 | 45.0 | 45.0 | 47.0 |
5 | 9 | 0.0 | -5.0 | -3.0 | 5.0 | 12.0 | 23.0 | 12.0 | 9.0 | -5.0 | ... | 22.0 | 31.0 | 28.0 | 32.0 | 34.0 | 26.0 | 21.0 | 27.0 | 33.0 | 40.0 |
6 | 10 | 0.0 | 13.0 | 1.0 | -40.0 | -50.0 | -46.0 | -55.0 | -43.0 | -23.0 | ... | -12.0 | -16.0 | -17.0 | -20.0 | -29.0 | -18.0 | -17.0 | -4.0 | 12.0 | 20.0 |
7 | 11 | 0.0 | -13.0 | -5.0 | -9.0 | 18.0 | 28.0 | 20.0 | 19.0 | 9.0 | ... | 51.0 | 59.0 | 55.0 | 58.0 | 63.0 | 51.0 | 43.0 | 34.0 | 35.0 | 33.0 |
8 | 12 | 0.0 | 10.0 | 23.0 | 7.0 | -6.0 | -6.0 | -3.0 | -3.0 | 12.0 | ... | 70.0 | 78.0 | 92.0 | 101.0 | 113.0 | 132.0 | 132.0 | 131.0 | 116.0 | 106.0 |
9 | 14 | 0.0 | -20.0 | -33.0 | -57.0 | -24.0 | 9.0 | 7.0 | 28.0 | 14.0 | ... | -43.0 | -19.0 | -39.0 | -66.0 | -53.0 | -68.0 | -97.0 | -108.0 | -67.0 | -81.0 |
10 | 20 | 0.0 | -11.0 | -15.0 | -12.0 | -9.0 | -3.0 | -9.0 | -7.0 | -16.0 | ... | 56.0 | 63.0 | 60.0 | 56.0 | 57.0 | 48.0 | 41.0 | 46.0 | 50.0 | 55.0 |
11 | 22 | 0.0 | -9.0 | -14.0 | -10.0 | -4.0 | 7.0 | -1.0 | -2.0 | -13.0 | ... | 36.0 | 42.0 | 39.0 | 40.0 | 43.0 | 36.0 | 31.0 | 37.0 | 43.0 | 48.0 |
12 | 23 | 0.0 | -7.0 | -12.0 | -9.0 | -4.0 | 10.0 | 3.0 | 8.0 | -6.0 | ... | 28.0 | 34.0 | 27.0 | 22.0 | 26.0 | 18.0 | 9.0 | 14.0 | 27.0 | 27.0 |
13 | 24 | 0.0 | -18.0 | -29.0 | -32.0 | -23.0 | -7.0 | -8.0 | -1.0 | -13.0 | ... | 26.0 | 32.0 | 25.0 | 22.0 | 31.0 | 21.0 | 14.0 | 23.0 | 45.0 | 50.0 |
14 | 25 | 0.0 | -13.0 | -25.0 | -27.0 | -23.0 | -6.0 | -17.0 | -13.0 | -31.0 | ... | 23.0 | 35.0 | 27.0 | 22.0 | 28.0 | 20.0 | 8.0 | 17.0 | 39.0 | 40.0 |
15 | 32 | 0.0 | -8.0 | -11.0 | -10.0 | -4.0 | 9.0 | 4.0 | 8.0 | -2.0 | ... | 57.0 | 62.0 | 54.0 | 48.0 | 47.0 | 36.0 | 25.0 | 33.0 | 45.0 | 50.0 |
16 | 33 | 0.0 | -14.0 | -40.0 | -39.0 | -7.0 | 28.0 | 25.0 | 34.0 | 9.0 | ... | -49.0 | -38.0 | -48.0 | -70.0 | -61.0 | -69.0 | -88.0 | -90.0 | -61.0 | -79.0 |
17 | 41 | 0.0 | -2.0 | 7.0 | 39.0 | 70.0 | 88.0 | 103.0 | 97.0 | 97.0 | ... | 246.0 | 229.0 | 218.0 | 236.0 | 245.0 | 255.0 | 288.0 | 303.0 | 286.0 | NaN |
18 | 45 | 0.0 | 6.0 | -13.0 | 1.0 | 31.0 | 45.0 | 35.0 | 42.0 | -1.0 | ... | -30.0 | -29.0 | -34.0 | -58.0 | -52.0 | -64.0 | -67.0 | -70.0 | -38.0 | -48.0 |
19 | 47 | 0.0 | 2.0 | -1.0 | 2.0 | 15.0 | 27.0 | 19.0 | 17.0 | 4.0 | ... | 21.0 | 28.0 | 26.0 | 20.0 | 23.0 | 19.0 | 7.0 | 11.0 | 25.0 | 20.0 |
20 | 51 | 0.0 | -6.0 | 1.0 | 30.0 | 44.0 | 77.0 | 108.0 | 129.0 | 151.0 | ... | 103.0 | 131.0 | 158.0 | 160.0 | 162.0 | 150.0 | 129.0 | 109.0 | 94.0 | NaN |
21 | 57 | 0.0 | -18.0 | -37.0 | -62.0 | -31.0 | -3.0 | -13.0 | 1.0 | -15.0 | ... | -128.0 | -113.0 | -138.0 | -173.0 | -164.0 | -184.0 | -216.0 | -228.0 | -188.0 | -212.0 |
22 | 58 | 0.0 | -5.0 | -11.0 | -7.0 | 14.0 | 36.0 | 32.0 | 35.0 | 22.0 | ... | 22.0 | 31.0 | 31.0 | 23.0 | 29.0 | 25.0 | 12.0 | 14.0 | 29.0 | 23.0 |
23 | 61 | 0.0 | 5.0 | 9.0 | 8.0 | 8.0 | 9.0 | 13.0 | 1.0 | 3.0 | ... | 53.0 | 56.0 | 70.0 | 113.0 | 109.0 | 119.0 | 126.0 | 135.0 | 100.0 | 98.0 |
24 | 62 | 0.0 | -17.0 | -42.0 | -57.0 | -33.0 | -14.0 | 6.0 | 20.0 | 8.0 | ... | -51.0 | -41.0 | -50.0 | -74.0 | -65.0 | -76.0 | -97.0 | -99.0 | -69.0 | -85.0 |
25 | 69 | 0.0 | -18.0 | -23.0 | -39.0 | -12.0 | 14.0 | 8.0 | 19.0 | 6.0 | ... | -20.0 | -2.0 | -20.0 | -34.0 | -28.0 | -41.0 | -65.0 | -73.0 | -49.0 | -55.0 |
26 | 70 | 0.0 | -16.0 | -17.0 | -28.0 | -1.0 | 22.0 | 19.0 | 29.0 | 15.0 | ... | 4.0 | 21.0 | 10.0 | 3.0 | 12.0 | 0.0 | -17.0 | -24.0 | -6.0 | -11.0 |
27 | 71 | 0.0 | -12.0 | -18.0 | -32.0 | 7.0 | 47.0 | 37.0 | 53.0 | 37.0 | ... | -27.0 | -21.0 | -41.0 | -65.0 | -54.0 | -69.0 | -98.0 | -109.0 | -72.0 | -86.0 |
28 | 76 | 0.0 | 1.0 | -5.0 | -8.0 | 17.0 | 43.0 | 34.0 | 40.0 | 29.0 | ... | 65.0 | 74.0 | 70.0 | 66.0 | 67.0 | 58.0 | 49.0 | 50.0 | 56.0 | 54.0 |
29 | 78 | 0.0 | -19.0 | -28.0 | -47.0 | -20.0 | 7.0 | -1.0 | 9.0 | -8.0 | ... | -69.0 | -50.0 | -70.0 | -89.0 | -81.0 | -94.0 | -123.0 | -133.0 | -104.0 | -118.0 |
30 | 79 | 0.0 | -14.0 | -42.0 | -69.0 | -33.0 | -2.0 | -1.0 | 19.0 | 5.0 | ... | -107.0 | -93.0 | -119.0 | -161.0 | -150.0 | -173.0 | -204.0 | -214.0 | -167.0 | -193.0 |
31 | 80 | 0.0 | -12.0 | -31.0 | -30.0 | -8.0 | 27.0 | 32.0 | 43.0 | 22.0 | ... | 38.0 | 58.0 | 47.0 | 34.0 | 45.0 | 38.0 | 5.0 | -18.0 | 17.0 | 14.0 |
32 | 81 | 0.0 | -10.0 | -13.0 | -14.0 | 7.0 | 14.0 | 10.0 | 15.0 | 8.0 | ... | 38.0 | 46.0 | 45.0 | 47.0 | 51.0 | 40.0 | 33.0 | 30.0 | 28.0 | 28.0 |
33 | 82 | 0.0 | -13.0 | -21.0 | -30.0 | -7.0 | 6.0 | -13.0 | 8.0 | 0.0 | ... | 35.0 | 44.0 | 21.0 | -12.0 | 2.0 | -5.0 | -7.0 | 11.0 | 65.0 | 54.0 |
34 | 88 | 0.0 | -18.0 | -42.0 | -68.0 | -35.0 | -3.0 | -14.0 | -1.0 | -17.0 | ... | -160.0 | -146.0 | -172.0 | -209.0 | -200.0 | -219.0 | -251.0 | -263.0 | -223.0 | -248.0 |
35 | 89 | 0.0 | -16.0 | -5.0 | 5.0 | 9.0 | 29.0 | 21.0 | 23.0 | 5.0 | ... | 11.0 | 16.0 | 8.0 | -5.0 | 0.0 | -9.0 | -21.0 | -26.0 | -9.0 | -23.0 |
36 | 91 | 0.0 | -9.0 | -17.0 | -19.0 | 1.0 | 9.0 | 1.0 | 0.0 | -15.0 | ... | -8.0 | 3.0 | -8.0 | -17.0 | -21.0 | -43.0 | -64.0 | -62.0 | -54.0 | -55.0 |
37 | 95 | 0.0 | -4.0 | -9.0 | -11.0 | 5.0 | 16.0 | 10.0 | 11.0 | 4.0 | ... | 70.0 | 69.0 | 59.0 | 53.0 | 48.0 | 44.0 | 40.0 | 46.0 | 50.0 | 55.0 |
38 | 96 | 0.0 | -6.0 | 3.0 | 1.0 | 3.0 | 0.0 | 7.0 | 6.0 | 6.0 | ... | 42.0 | 54.0 | 60.0 | 79.0 | 90.0 | 106.0 | 121.0 | 115.0 | NaN | NaN |
39 | 98 | 0.0 | -9.0 | -11.0 | -12.0 | 9.0 | 21.0 | 21.0 | 19.0 | 5.0 | ... | 38.0 | 47.0 | 44.0 | 42.0 | 50.0 | 40.0 | 34.0 | 28.0 | 37.0 | 33.0 |
40 | 111 | 0.0 | -6.0 | -9.0 | 0.0 | 3.0 | -5.0 | -3.0 | 6.0 | -20.0 | ... | 29.0 | 52.0 | 65.0 | 72.0 | 107.0 | 131.0 | 138.0 | 141.0 | 139.0 | 111.0 |
41 | 112 | 0.0 | 19.0 | 27.0 | 12.0 | 4.0 | 2.0 | 13.0 | 24.0 | 38.0 | ... | 47.0 | 48.0 | 56.0 | 43.0 | 42.0 | 43.0 | 53.0 | 68.0 | 93.0 | 117.0 |
42 | 113 | 0.0 | -17.0 | -55.0 | -55.0 | -32.0 | -14.0 | -10.0 | -3.0 | -7.0 | ... | 4.0 | 13.0 | 12.0 | 15.0 | 25.0 | 14.0 | 7.0 | 2.0 | 2.0 | -2.0 |
43 | 118 | 0.0 | -14.0 | -15.0 | -32.0 | 10.0 | 38.0 | 39.0 | 52.0 | 50.0 | ... | 88.0 | 93.0 | 63.0 | 58.0 | 76.0 | NaN | NaN | NaN | NaN | NaN |
44 | 119 | 0.0 | -14.0 | -20.0 | -27.0 | -1.0 | 2.0 | -1.0 | 4.0 | -10.0 | ... | 43.0 | 47.0 | 27.0 | 20.0 | 32.0 | 28.0 | 19.0 | 16.0 | 16.0 | 1.0 |
45 | 120 | 0.0 | -10.0 | -2.0 | -7.0 | 13.0 | 22.0 | 12.0 | 15.0 | 8.0 | ... | 22.0 | 42.0 | 42.0 | 51.0 | 68.0 | 64.0 | 55.0 | 49.0 | 45.0 | 44.0 |
46 | 126 | 0.0 | 2.0 | 12.0 | -64.0 | -146.0 | -156.0 | -220.0 | -232.0 | -152.0 | ... | -307.0 | -199.0 | -174.0 | -224.0 | -231.0 | -253.0 | -309.0 | -309.0 | -283.0 | -310.0 |
47 | 127 | 0.0 | 2.0 | -6.0 | -36.0 | -48.0 | -38.0 | -42.0 | -34.0 | -22.0 | ... | 13.0 | 2.0 | -4.0 | 2.0 | -6.0 | 6.0 | 2.0 | 20.0 | 26.0 | 43.0 |
48 | 130 | 0.0 | -5.0 | 3.0 | 6.0 | 11.0 | 27.0 | 41.0 | 46.0 | 47.0 | ... | 118.0 | 122.0 | 121.0 | 131.0 | 147.0 | 156.0 | 163.0 | 159.0 | 153.0 | 152.0 |
49 | 131 | 0.0 | -2.0 | 3.0 | -4.0 | -7.0 | -3.0 | 3.0 | 6.0 | 13.0 | ... | 104.0 | 118.0 | 131.0 | 146.0 | 151.0 | 150.0 | NaN | NaN | NaN | NaN |
50 | 132 | 0.0 | -8.0 | -3.0 | -6.0 | 0.0 | 5.0 | 9.0 | 13.0 | 18.0 | ... | 56.0 | 55.0 | 51.0 | 62.0 | 63.0 | 68.0 | 79.0 | 76.0 | 65.0 | 76.0 |
51 | 133 | 0.0 | 11.0 | 14.0 | 13.0 | 25.0 | 24.0 | 23.0 | 29.0 | 33.0 | ... | 59.0 | 53.0 | 51.0 | 64.0 | 65.0 | 78.0 | 82.0 | 85.0 | 84.0 | 93.0 |
52 | 134 | 0.0 | -2.0 | 6.0 | 15.0 | 40.0 | 47.0 | 54.0 | 70.0 | 78.0 | ... | 165.0 | 161.0 | 162.0 | 183.0 | 187.0 | 202.0 | 209.0 | 218.0 | 217.0 | 226.0 |
53 | 135 | 0.0 | 14.0 | 28.0 | 9.0 | -1.0 | 2.0 | 3.0 | 4.0 | 25.0 | ... | 109.0 | 107.0 | 117.0 | 118.0 | 137.0 | 152.0 | 152.0 | 149.0 | 137.0 | 117.0 |
54 | 137 | 0.0 | 20.0 | 18.0 | -60.0 | -147.0 | -162.0 | -225.0 | -222.0 | -137.0 | ... | -367.0 | -235.0 | -183.0 | -191.0 | -187.0 | -209.0 | -264.0 | -264.0 | -241.0 | -268.0 |
55 | 144 | 0.0 | 9.0 | 12.0 | -56.0 | -38.0 | -35.0 | -32.0 | -32.0 | 36.0 | ... | -133.0 | -49.0 | -21.0 | -51.0 | -47.0 | -55.0 | -95.0 | -95.0 | -83.0 | -110.0 |
56 | 145 | 0.0 | 6.0 | 4.0 | 17.0 | 20.0 | 9.0 | 14.0 | 35.0 | 37.0 | ... | 227.0 | 297.0 | 337.0 | 354.0 | 357.0 | 396.0 | 399.0 | 390.0 | 390.0 | 390.0 |
57 | 148 | 0.0 | 11.0 | 17.0 | 3.0 | -9.0 | -7.0 | -1.0 | 3.0 | 19.0 | ... | 69.0 | 72.0 | 82.0 | 84.0 | 100.0 | 118.0 | 123.0 | 124.0 | 119.0 | 111.0 |
58 | 154 | 0.0 | -2.0 | 5.0 | 11.0 | -1.0 | -9.0 | -16.0 | -29.0 | -40.0 | ... | 21.0 | 28.0 | 37.0 | 64.0 | 68.0 | 72.0 | 85.0 | 94.0 | 73.0 | 78.0 |
59 | 155 | 0.0 | -24.0 | -24.0 | -9.0 | -18.0 | -32.0 | -23.0 | -11.0 | -22.0 | ... | 37.0 | 31.0 | 15.0 | 10.0 | -1.0 | -4.0 | -6.0 | 5.0 | 11.0 | 28.0 |
60 | 158 | 0.0 | 3.0 | 2.0 | -24.0 | -37.0 | -33.0 | -29.0 | -18.0 | 1.0 | ... | -2.0 | 0.0 | 2.0 | 3.0 | 2.0 | 14.0 | 19.0 | 34.0 | 61.0 | 74.0 |
61 | 161 | 0.0 | 14.0 | 17.0 | 1.0 | -1.0 | 10.0 | 25.0 | 41.0 | 61.0 | ... | 97.0 | 98.0 | 105.0 | 114.0 | 126.0 | 132.0 | 146.0 | 146.0 | 162.0 | 205.0 |
62 | 163 | 0.0 | -1.0 | -28.0 | -79.0 | -92.0 | -86.0 | -79.0 | -58.0 | -13.0 | ... | 65.0 | 57.0 | 41.0 | 9.0 | -6.0 | -10.0 | -22.0 | -19.0 | -7.0 | -10.0 |
63 | 165 | 0.0 | -6.0 | -3.0 | -36.0 | -69.0 | -62.0 | -72.0 | -81.0 | -78.0 | ... | -68.0 | -81.0 | -84.0 | -77.0 | -84.0 | -73.0 | -80.0 | -70.0 | -72.0 | -59.0 |
64 | 166 | 0.0 | -14.0 | -32.0 | -65.0 | -74.0 | -60.0 | -66.0 | -56.0 | -45.0 | ... | -37.0 | -47.0 | -46.0 | -39.0 | -44.0 | -30.0 | -34.0 | -25.0 | -23.0 | -9.0 |
65 | 167 | 0.0 | -12.0 | -7.0 | -30.0 | -50.0 | -38.0 | -35.0 | -26.0 | -19.0 | ... | 17.0 | 10.0 | 7.0 | 10.0 | 12.0 | 13.0 | -2.0 | 7.0 | 3.0 | 4.0 |
66 | 172 | 0.0 | -20.0 | -38.0 | -59.0 | -39.0 | -11.0 | -16.0 | -1.0 | -20.0 | ... | -111.0 | -91.0 | -114.0 | -144.0 | -134.0 | -152.0 | -183.0 | -195.0 | -157.0 | -178.0 |
67 | 173 | 0.0 | -12.0 | -10.0 | -33.0 | -67.0 | -60.0 | -63.0 | -60.0 | -44.0 | ... | -47.0 | -26.0 | -17.0 | -9.0 | -4.0 | 4.0 | NaN | NaN | NaN | NaN |
68 | 174 | 0.0 | -14.0 | -10.0 | -5.0 | -5.0 | -7.0 | 3.0 | -6.0 | -17.0 | ... | 18.0 | 44.0 | 52.0 | 81.0 | 104.0 | 126.0 | 140.0 | 149.0 | 141.0 | 132.0 |
69 | 175 | 0.0 | -1.0 | -11.0 | -44.0 | -60.0 | -49.0 | -52.0 | -43.0 | -32.0 | ... | -11.0 | -17.0 | -25.0 | -16.0 | -14.0 | 3.0 | 3.0 | 22.0 | 24.0 | 33.0 |
70 | 179 | 0.0 | -6.0 | -17.0 | -13.0 | 11.0 | 18.0 | -17.0 | -14.0 | -27.0 | ... | 4.0 | 11.0 | 4.0 | -11.0 | -5.0 | -15.0 | -31.0 | -33.0 | -16.0 | -27.0 |
71 | 180 | 0.0 | 10.0 | 25.0 | 10.0 | 0.0 | 12.0 | 29.0 | 35.0 | 57.0 | ... | 107.0 | 113.0 | 127.0 | 137.0 | 148.0 | 165.0 | 166.0 | 163.0 | 148.0 | 144.0 |
72 | 183 | 0.0 | -5.0 | 3.0 | -9.0 | -20.0 | -26.0 | -20.0 | -21.0 | -17.0 | ... | 24.0 | 26.0 | 36.0 | 49.0 | 59.0 | 78.0 | 89.0 | 88.0 | 61.0 | 51.0 |
73 | 188 | 0.0 | 11.0 | 14.0 | 13.0 | 8.0 | 5.0 | 9.0 | 14.0 | 22.0 | ... | 46.0 | 56.0 | 63.0 | 64.0 | 68.0 | 74.0 | 81.0 | 91.0 | 109.0 | 125.0 |
74 | 189 | 0.0 | -12.0 | -20.0 | -2.0 | 10.0 | 9.0 | 6.0 | 5.0 | -20.0 | ... | 59.0 | 85.0 | 98.0 | 116.0 | 136.0 | 162.0 | 171.0 | 167.0 | 145.0 | 120.0 |
75 | 192 | 0.0 | -11.0 | -13.0 | -46.0 | -94.0 | -100.0 | -110.0 | -102.0 | -84.0 | ... | -102.0 | -72.0 | -61.0 | -59.0 | -50.0 | -41.0 | -48.0 | -43.0 | -54.0 | -66.0 |
76 | 193 | 0.0 | -8.0 | -23.0 | -60.0 | -74.0 | -63.0 | -62.0 | -49.0 | -37.0 | ... | -14.0 | -24.0 | -29.0 | -23.0 | -27.0 | -16.0 | -19.0 | -4.0 | -1.0 | 11.0 |
77 | 194 | 0.0 | -16.0 | -39.0 | -65.0 | -38.0 | -9.0 | -21.0 | -9.0 | -23.0 | ... | -132.0 | -118.0 | -145.0 | -184.0 | -175.0 | -195.0 | -225.0 | -236.0 | -192.0 | -217.0 |
78 | 195 | 0.0 | -1.0 | 1.0 | 0.0 | -9.0 | -4.0 | -6.0 | -4.0 | 4.0 | ... | 31.0 | 35.0 | 56.0 | 61.0 | 62.0 | 74.0 | 73.0 | 73.0 | 49.0 | 47.0 |
79 | 196 | 0.0 | -1.0 | 2.0 | 14.0 | 17.0 | 24.0 | 25.0 | 32.0 | 22.0 | ... | 20.0 | 22.0 | 27.0 | 30.0 | 41.0 | 43.0 | 56.0 | 63.0 | 66.0 | 74.0 |
80 | 201 | 0.0 | -5.0 | 3.0 | -53.0 | -114.0 | -113.0 | -158.0 | -159.0 | -106.0 | ... | -161.0 | -91.0 | -72.0 | -93.0 | -96.0 | -102.0 | -134.0 | -132.0 | -129.0 | -146.0 |
81 | 202 | 0.0 | -2.0 | -2.0 | -2.0 | 3.0 | 3.0 | 2.0 | -9.0 | -17.0 | ... | 37.0 | 39.0 | 48.0 | 69.0 | 62.0 | 62.0 | 61.0 | 67.0 | 54.0 | 64.0 |
82 | 203 | 0.0 | -17.0 | -42.0 | -70.0 | -40.0 | -8.0 | -19.0 | -11.0 | -24.0 | ... | -135.0 | -121.0 | -150.0 | -189.0 | -178.0 | -197.0 | -226.0 | -235.0 | -192.0 | -219.0 |
83 | 205 | 0.0 | -26.0 | -11.0 | -4.0 | -15.0 | -22.0 | -12.0 | -16.0 | -21.0 | ... | -3.0 | 6.0 | 14.0 | 27.0 | 46.0 | 51.0 | 53.0 | 50.0 | NaN | NaN |
84 | 213 | 0.0 | -1.0 | -6.0 | -9.0 | -10.0 | -7.0 | -2.0 | 3.0 | 11.0 | ... | 18.0 | 19.0 | 20.0 | 20.0 | 16.0 | 19.0 | 20.0 | 21.0 | 28.0 | 46.0 |
85 | 215 | 0.0 | -23.0 | -14.0 | 16.0 | 28.0 | 41.0 | 55.0 | 49.0 | 30.0 | ... | 109.0 | 111.0 | 99.0 | 111.0 | 112.0 | 116.0 | 147.0 | 163.0 | 140.0 | 141.0 |
86 | 216 | 0.0 | -9.0 | -16.0 | -4.0 | -1.0 | 2.0 | 2.0 | 10.0 | -12.0 | ... | 54.0 | 68.0 | 84.0 | 79.0 | 91.0 | 94.0 | 104.0 | 99.0 | 98.0 | 103.0 |
87 | 221 | 0.0 | 11.0 | 8.0 | 19.0 | 42.0 | 59.0 | 56.0 | 63.0 | 58.0 | ... | 87.0 | 91.0 | 91.0 | 90.0 | 95.0 | 101.0 | 109.0 | 119.0 | 134.0 | 148.0 |
88 | 224 | 0.0 | 10.0 | 24.0 | 7.0 | -4.0 | -9.0 | -6.0 | -8.0 | 7.0 | ... | 81.0 | 83.0 | 98.0 | 104.0 | 114.0 | 132.0 | 137.0 | 135.0 | 125.0 | 124.0 |
89 | 225 | 0.0 | -9.0 | 2.0 | -15.0 | -37.0 | -28.0 | -29.0 | -27.0 | -31.0 | ... | -20.0 | -26.0 | -31.0 | -32.0 | -35.0 | -38.0 | -54.0 | -55.0 | -64.0 | -64.0 |
90 | 229 | 0.0 | -13.0 | -40.0 | -66.0 | -40.0 | -9.0 | -16.0 | -1.0 | -14.0 | ... | -108.0 | -95.0 | -122.0 | -166.0 | -154.0 | -176.0 | -205.0 | -215.0 | -167.0 | -194.0 |
91 | 230 | 0.0 | -10.0 | -12.0 | -1.0 | -12.0 | -20.0 | -14.0 | -2.0 | -15.0 | ... | 27.0 | 43.0 | 54.0 | 48.0 | 62.0 | 66.0 | 70.0 | 64.0 | 57.0 | 56.0 |
92 | 234 | 0.0 | 17.0 | 22.0 | 8.0 | -1.0 | -4.0 | 3.0 | 11.0 | 26.0 | ... | 50.0 | 54.0 | 68.0 | 63.0 | 67.0 | 74.0 | 85.0 | 100.0 | 123.0 | 146.0 |
93 | 235 | 0.0 | 3.0 | 12.0 | 0.0 | -11.0 | -19.0 | -13.0 | -13.0 | -3.0 | ... | 67.0 | 73.0 | 85.0 | 98.0 | 107.0 | 119.0 | 126.0 | 126.0 | 107.0 | 104.0 |
94 | 236 | 0.0 | -4.0 | -13.0 | -11.0 | -2.0 | 15.0 | 5.0 | 9.0 | -6.0 | ... | 27.0 | 42.0 | 42.0 | 39.0 | 44.0 | 36.0 | 25.0 | 31.0 | 48.0 | 49.0 |
95 | 239 | 0.0 | -19.0 | -39.0 | -61.0 | -13.0 | 12.0 | 7.0 | 22.0 | 6.0 | ... | -65.0 | -45.0 | -66.0 | -92.0 | -82.0 | -98.0 | -127.0 | -137.0 | -100.0 | -118.0 |
96 | 240 | 0.0 | -13.0 | -44.0 | -67.0 | -37.0 | -10.0 | -15.0 | 1.0 | -15.0 | ... | -138.0 | -126.0 | -152.0 | -193.0 | -183.0 | -203.0 | -232.0 | -241.0 | -194.0 | -218.0 |
97 | 245 | 0.0 | 2.0 | 0.0 | -27.0 | -41.0 | -38.0 | -36.0 | -24.0 | -3.0 | ... | -2.0 | 0.0 | 2.0 | 0.0 | -2.0 | 6.0 | 6.0 | 16.0 | 39.0 | 50.0 |
98 | 246 | 0.0 | 12.0 | 14.0 | -1.0 | -11.0 | -15.0 | -14.0 | -9.0 | -1.0 | ... | 38.0 | 33.0 | 53.0 | 51.0 | 57.0 | 72.0 | 81.0 | 81.0 | 89.0 | 118.0 |
99 | 248 | 0.0 | -2.0 | -6.0 | -1.0 | 0.0 | 0.0 | 1.0 | 3.0 | -2.0 | ... | 20.0 | 26.0 | 32.0 | 55.0 | 72.0 | 89.0 | 88.0 | 102.0 | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
419 | 1353 | 0.0 | -8.0 | 13.0 | 14.0 | -4.0 | 0.0 | -4.0 | -12.0 | -28.0 | ... | -121.0 | -139.0 | -156.0 | -166.0 | -185.0 | -190.0 | -210.0 | -205.0 | -210.0 | -201.0 |
420 | 1354 | 0.0 | 1.0 | -10.0 | -40.0 | -54.0 | -36.0 | -42.0 | -32.0 | -16.0 | ... | 8.0 | -4.0 | -9.0 | -15.0 | -27.0 | -16.0 | -30.0 | -32.0 | -33.0 | -20.0 |
421 | 1364 | 0.0 | -6.0 | -5.0 | -12.0 | -14.0 | -8.0 | -1.0 | 2.0 | 10.0 | ... | 86.0 | 92.0 | 97.0 | 106.0 | 109.0 | 108.0 | NaN | NaN | NaN | NaN |
422 | 1365 | 0.0 | 1.0 | 6.0 | 3.0 | 7.0 | 11.0 | 12.0 | 18.0 | 21.0 | ... | 43.0 | 47.0 | 50.0 | 56.0 | 61.0 | 68.0 | 75.0 | 80.0 | 84.0 | 98.0 |
423 | 1371 | 0.0 | 9.0 | -9.0 | -18.0 | -8.0 | -2.0 | -1.0 | -3.0 | 30.0 | ... | 15.0 | -3.0 | -2.0 | -13.0 | -23.0 | -7.0 | 15.0 | 24.0 | 61.0 | NaN |
424 | 1386 | 0.0 | -7.0 | -7.0 | -6.0 | 11.0 | 14.0 | 16.0 | 21.0 | 23.0 | ... | 69.0 | 68.0 | 66.0 | 79.0 | 81.0 | 93.0 | 101.0 | 107.0 | 107.0 | 118.0 |
425 | 1387 | 0.0 | -5.0 | 3.0 | 1.0 | 6.0 | 16.0 | 27.0 | 35.0 | 41.0 | ... | 98.0 | 98.0 | 96.0 | 107.0 | 111.0 | 123.0 | 139.0 | 144.0 | 140.0 | 154.0 |
426 | 1388 | 0.0 | -2.0 | 4.0 | 10.0 | 14.0 | 28.0 | 40.0 | 44.0 | 37.0 | ... | 64.0 | 66.0 | 66.0 | 65.0 | 56.0 | 63.0 | 59.0 | 55.0 | 53.0 | 65.0 |
427 | 1389 | 0.0 | -9.0 | 0.0 | -3.0 | 4.0 | 10.0 | 15.0 | 21.0 | 28.0 | ... | 101.0 | 98.0 | 94.0 | 104.0 | 105.0 | 111.0 | 123.0 | 125.0 | 116.0 | 126.0 |
428 | 1390 | 0.0 | -1.0 | 9.0 | 16.0 | 43.0 | 56.0 | 64.0 | 81.0 | 89.0 | ... | 224.0 | 220.0 | 212.0 | 237.0 | 243.0 | 262.0 | 267.0 | 283.0 | 286.0 | 299.0 |
429 | 1391 | 0.0 | 1.0 | 17.0 | 17.0 | 30.0 | 63.0 | 71.0 | 67.0 | 79.0 | ... | 124.0 | 108.0 | 118.0 | 116.0 | 127.0 | 124.0 | 118.0 | 109.0 | 106.0 | 100.0 |
430 | 1392 | 0.0 | -19.0 | -21.0 | -46.0 | -60.0 | -65.0 | -54.0 | -57.0 | -47.0 | ... | -48.0 | -33.0 | -29.0 | -23.0 | -21.0 | 2.0 | -25.0 | -24.0 | -34.0 | -51.0 |
431 | 1393 | 0.0 | 11.0 | -4.0 | -14.0 | -21.0 | -27.0 | -26.0 | -19.0 | -4.0 | ... | 27.0 | 27.0 | 23.0 | 29.0 | 23.0 | 29.0 | 29.0 | 49.0 | 59.0 | 68.0 |
432 | 1394 | 0.0 | 9.0 | 2.0 | -33.0 | -42.0 | -44.0 | -45.0 | -28.0 | -8.0 | ... | 3.0 | -1.0 | -5.0 | -10.0 | -16.0 | -3.0 | -1.0 | 16.0 | 35.0 | 44.0 |
433 | 1395 | 0.0 | -13.0 | -18.0 | -19.0 | -25.0 | -15.0 | -6.0 | 2.0 | 9.0 | ... | 51.0 | 58.0 | 58.0 | 69.0 | 64.0 | 31.0 | 21.0 | NaN | NaN | NaN |
434 | 1397 | 0.0 | 7.0 | 1.0 | 17.0 | 14.0 | 9.0 | 6.0 | 11.0 | 16.0 | ... | 51.0 | 44.0 | 38.0 | 35.0 | 31.0 | 31.0 | 33.0 | 45.0 | 70.0 | 82.0 |
435 | 1420 | 0.0 | -10.0 | -25.0 | -34.0 | -40.0 | -37.0 | -40.0 | -32.0 | -47.0 | ... | -50.0 | -32.0 | -21.0 | -17.0 | 1.0 | 15.0 | 24.0 | 15.0 | 4.0 | 9.0 |
436 | 1421 | 0.0 | -4.0 | -24.0 | -38.0 | -53.0 | -66.0 | -88.0 | -15.0 | -16.0 | ... | -76.0 | -94.0 | -112.0 | -130.0 | -134.0 | -146.0 | -156.0 | -174.0 | -170.0 | -185.0 |
437 | 1423 | 0.0 | -13.0 | -15.0 | -10.0 | 1.0 | -8.0 | -9.0 | -1.0 | -2.0 | ... | 43.0 | 40.0 | 37.0 | 38.0 | 44.0 | 43.0 | 47.0 | NaN | NaN | NaN |
438 | 1437 | 0.0 | -4.0 | 7.0 | 6.0 | 10.0 | 30.0 | 39.0 | 38.0 | 39.0 | ... | 111.0 | 113.0 | 103.0 | 112.0 | 134.0 | 147.0 | 158.0 | 158.0 | 161.0 | 166.0 |
439 | 1438 | 0.0 | -1.0 | 12.0 | 15.0 | 27.0 | 54.0 | 67.0 | 70.0 | 75.0 | ... | 163.0 | 152.0 | 129.0 | 133.0 | 150.0 | 159.0 | 171.0 | 172.0 | 173.0 | 181.0 |
440 | 1440 | 0.0 | -17.0 | 18.0 | -6.0 | 97.0 | 134.0 | 88.0 | 94.0 | 146.0 | ... | 248.0 | 152.0 | 33.0 | 79.0 | 97.0 | 141.0 | 152.0 | 226.0 | 137.0 | 83.0 |
441 | 1441 | 0.0 | -28.0 | -20.0 | -17.0 | -31.0 | -36.0 | -27.0 | -39.0 | -63.0 | ... | -62.0 | -71.0 | -57.0 | -34.0 | -36.0 | -23.0 | 8.0 | 15.0 | -3.0 | 4.0 |
442 | 1442 | 0.0 | -1.0 | -3.0 | -7.0 | -14.0 | -15.0 | -10.0 | -1.0 | 11.0 | ... | 240.0 | 239.0 | 234.0 | 238.0 | 251.0 | 258.0 | 274.0 | 289.0 | 302.0 | 319.0 |
443 | 1444 | 0.0 | 14.0 | 14.0 | 8.0 | 12.0 | 12.0 | 44.0 | 50.0 | 63.0 | ... | -9.0 | -6.0 | 9.0 | -4.0 | 2.0 | 12.0 | 26.0 | 39.0 | 69.0 | 87.0 |
444 | 1445 | 0.0 | 2.0 | 5.0 | 0.0 | 5.0 | 3.0 | 5.0 | 8.0 | 9.0 | ... | 48.0 | 52.0 | 57.0 | 59.0 | 52.0 | 58.0 | 60.0 | 78.0 | 96.0 | 121.0 |
445 | 1446 | 0.0 | 3.0 | 7.0 | 7.0 | 15.0 | 18.0 | 23.0 | 28.0 | 29.0 | ... | 42.0 | 40.0 | 41.0 | 43.0 | 41.0 | 47.0 | 50.0 | 55.0 | 64.0 | 78.0 |
446 | 1447 | 0.0 | 2.0 | 11.0 | -6.0 | -17.0 | -28.0 | -37.0 | -32.0 | -19.0 | ... | 45.0 | 42.0 | 33.0 | 40.0 | 41.0 | 48.0 | 50.0 | 69.0 | 73.0 | 79.0 |
447 | 1448 | 0.0 | -19.0 | -12.0 | -22.0 | 4.0 | 11.0 | 26.0 | 41.0 | 7.0 | ... | 23.0 | 33.0 | 24.0 | 23.0 | 33.0 | 27.0 | 23.0 | 18.0 | 28.0 | 27.0 |
448 | 1449 | 0.0 | -6.0 | -10.0 | -4.0 | 15.0 | 33.0 | 47.0 | 54.0 | 34.0 | ... | -25.0 | -19.0 | -6.0 | 8.0 | 19.0 | 35.0 | 45.0 | NaN | NaN | NaN |
449 | 1450 | 0.0 | -2.0 | 3.0 | 40.0 | 47.0 | 52.0 | 62.0 | 59.0 | 62.0 | ... | 102.0 | 81.0 | 74.0 | 69.0 | 62.0 | 52.0 | 72.0 | 93.0 | 107.0 | 136.0 |
450 | 1468 | 0.0 | 0.0 | 3.0 | -1.0 | 11.0 | 24.0 | 34.0 | 42.0 | 57.0 | ... | 39.0 | 51.0 | 65.0 | 89.0 | 98.0 | 106.0 | 105.0 | 109.0 | 95.0 | 98.0 |
451 | 1469 | 0.0 | 3.0 | 11.0 | 11.0 | 11.0 | 10.0 | 10.0 | 4.0 | 5.0 | ... | 53.0 | 57.0 | 68.0 | 86.0 | 88.0 | 100.0 | 105.0 | 109.0 | 95.0 | 96.0 |
452 | 1473 | 0.0 | 5.0 | -16.0 | 6.0 | 22.0 | 20.0 | 16.0 | 18.0 | 13.0 | ... | 83.0 | 85.0 | 88.0 | 90.0 | 90.0 | 93.0 | 115.0 | 145.0 | 104.0 | 85.0 |
453 | 1474 | 0.0 | -21.0 | -17.0 | 16.0 | 2.0 | -8.0 | 0.0 | -3.0 | -17.0 | ... | -15.0 | 22.0 | 45.0 | 80.0 | 73.0 | 71.0 | 64.0 | 57.0 | 51.0 | 32.0 |
454 | 1475 | 0.0 | -7.0 | 3.0 | 12.0 | 17.0 | 25.0 | 24.0 | 25.0 | 17.0 | ... | 61.0 | 67.0 | 82.0 | 89.0 | 93.0 | 103.0 | 113.0 | NaN | NaN | NaN |
455 | 1488 | 0.0 | -10.0 | -8.0 | -18.0 | -21.0 | -9.0 | -8.0 | -18.0 | -26.0 | ... | -63.0 | -67.0 | -86.0 | -82.0 | -67.0 | -64.0 | -62.0 | -68.0 | -69.0 | -66.0 |
456 | 1489 | 0.0 | 1.0 | 7.0 | 9.0 | 14.0 | 18.0 | 23.0 | 26.0 | 29.0 | ... | 20.0 | 12.0 | 7.0 | 13.0 | 5.0 | 12.0 | 16.0 | 23.0 | 23.0 | 34.0 |
457 | 1490 | 0.0 | 1.0 | -1.0 | 0.0 | 10.0 | 5.0 | 19.0 | 18.0 | -5.0 | ... | 53.0 | 39.0 | 30.0 | 33.0 | 28.0 | 47.0 | 75.0 | 86.0 | 118.0 | 148.0 |
458 | 1495 | 0.0 | -13.0 | -21.0 | -18.0 | -17.0 | -15.0 | -8.0 | 11.0 | 32.0 | ... | 39.0 | 47.0 | 60.0 | 83.0 | 96.0 | 106.0 | 111.0 | NaN | NaN | NaN |
459 | 1501 | 0.0 | -6.0 | -9.0 | -6.0 | 7.0 | -1.0 | -10.0 | -19.0 | -28.0 | ... | 46.0 | 66.0 | 71.0 | 93.0 | 83.0 | 77.0 | 67.0 | 80.0 | 69.0 | 64.0 |
460 | 1505 | 0.0 | 0.0 | -9.0 | -18.0 | -8.0 | 7.0 | 4.0 | 20.0 | 16.0 | ... | 162.0 | 181.0 | 197.0 | 209.0 | 205.0 | 199.0 | 198.0 | 205.0 | 191.0 | 224.0 |
461 | 1522 | 0.0 | -6.0 | -9.0 | -6.0 | -6.0 | -2.0 | 8.0 | 15.0 | 9.0 | ... | 55.0 | 59.0 | 64.0 | 60.0 | 47.0 | 57.0 | 46.0 | 40.0 | 44.0 | 56.0 |
462 | 1527 | 0.0 | -1.0 | 7.0 | 6.0 | 8.0 | 12.0 | 32.0 | 40.0 | 32.0 | ... | 49.0 | 56.0 | 70.0 | 94.0 | 110.0 | 100.0 | 97.0 | 99.0 | 90.0 | 86.0 |
463 | 1544 | 0.0 | 0.0 | 1.0 | -3.0 | -5.0 | -4.0 | 1.0 | 4.0 | 5.0 | ... | 37.0 | 43.0 | 45.0 | 49.0 | 64.0 | 76.0 | 92.0 | 104.0 | 115.0 | 123.0 |
464 | 1545 | 0.0 | -7.0 | -10.0 | -12.0 | -11.0 | 3.0 | 14.0 | 12.0 | 6.0 | ... | 27.0 | 26.0 | 18.0 | 26.0 | 44.0 | 47.0 | 55.0 | 50.0 | 39.0 | 30.0 |
465 | 1546 | 0.0 | 4.0 | 10.0 | 13.0 | 22.0 | 27.0 | 33.0 | 42.0 | 45.0 | ... | 118.0 | 115.0 | 118.0 | 124.0 | 117.0 | 115.0 | 112.0 | 110.0 | 118.0 | 144.0 |
466 | 1549 | 0.0 | 1.0 | 11.0 | 27.0 | 32.0 | 27.0 | 20.0 | 18.0 | -7.0 | ... | 56.0 | 61.0 | 74.0 | 90.0 | 92.0 | 93.0 | 124.0 | 120.0 | 102.0 | NaN |
467 | 1567 | 0.0 | 6.0 | 10.0 | 5.0 | 28.0 | 35.0 | 41.0 | 52.0 | 57.0 | ... | 126.0 | 105.0 | 88.0 | 110.0 | 106.0 | 119.0 | 111.0 | 110.0 | 100.0 | 98.0 |
468 | 1568 | 0.0 | -1.0 | 0.0 | 0.0 | 5.0 | 6.0 | 12.0 | 18.0 | 16.0 | ... | 25.0 | 16.0 | 13.0 | 25.0 | 24.0 | 33.0 | 38.0 | 47.0 | 53.0 | 70.0 |
469 | 1585 | 0.0 | -5.0 | -2.0 | -6.0 | -5.0 | 4.0 | 12.0 | 17.0 | 23.0 | ... | 88.0 | 88.0 | 88.0 | 100.0 | 104.0 | 115.0 | 128.0 | 132.0 | 129.0 | 143.0 |
470 | 1586 | 0.0 | -3.0 | -1.0 | -6.0 | -12.0 | -5.0 | -5.0 | -1.0 | 2.0 | ... | 37.0 | 36.0 | 37.0 | 48.0 | 48.0 | 58.0 | 67.0 | 71.0 | 74.0 | 88.0 |
471 | 1587 | 0.0 | 4.0 | 12.0 | 6.0 | 4.0 | 8.0 | 9.0 | 7.0 | 12.0 | ... | 38.0 | 35.0 | 29.0 | 34.0 | 31.0 | 26.0 | 31.0 | 20.0 | 2.0 | -1.0 |
472 | 1588 | 0.0 | -3.0 | -2.0 | -2.0 | 8.0 | 6.0 | 13.0 | 18.0 | 17.0 | ... | 40.0 | 29.0 | 12.0 | 16.0 | 21.0 | 23.0 | 34.0 | 57.0 | 63.0 | 78.0 |
473 | 1589 | 0.0 | -3.0 | -8.0 | -3.0 | -4.0 | -3.0 | -2.0 | 0.0 | -6.0 | ... | 27.0 | 35.0 | 43.0 | 56.0 | 72.0 | 83.0 | 91.0 | 86.0 | 78.0 | 72.0 |
474 | 1590 | 0.0 | 8.0 | -4.0 | -12.0 | 3.0 | 6.0 | 4.0 | 14.0 | 10.0 | ... | 40.0 | 49.0 | 63.0 | 70.0 | 86.0 | 91.0 | 95.0 | 86.0 | 91.0 | 92.0 |
475 | 1591 | 0.0 | -19.0 | -36.0 | -31.0 | -38.0 | -46.0 | -51.0 | -44.0 | -50.0 | ... | -30.0 | -26.0 | -11.0 | 7.0 | 19.0 | 37.0 | 54.0 | 45.0 | 32.0 | 45.0 |
476 | 1592 | 0.0 | -36.0 | -57.0 | -61.0 | -100.0 | -101.0 | -98.0 | -98.0 | -100.0 | ... | -72.0 | -67.0 | -63.0 | -42.0 | -27.0 | -25.0 | -27.0 | -18.0 | -22.0 | -12.0 |
477 | 1593 | 0.0 | -17.0 | -32.0 | -29.0 | -39.0 | -45.0 | -53.0 | -45.0 | -51.0 | ... | -46.0 | -36.0 | -27.0 | -6.0 | 10.0 | 26.0 | 35.0 | 36.0 | 23.0 | 27.0 |
478 | 1594 | 0.0 | -19.0 | -35.0 | -31.0 | -38.0 | -48.0 | -51.0 | -43.0 | -49.0 | ... | -39.0 | -28.0 | -20.0 | -9.0 | 4.0 | 22.0 | 32.0 | 36.0 | 28.0 | 41.0 |
479 | 1595 | 0.0 | -8.0 | -18.0 | -10.0 | -11.0 | -15.0 | -17.0 | -8.0 | -7.0 | ... | 7.0 | 19.0 | 25.0 | 42.0 | 61.0 | 79.0 | 88.0 | 91.0 | 79.0 | 104.0 |
480 | 1597 | 0.0 | -7.0 | 0.0 | 7.0 | 1.0 | -5.0 | -5.0 | -11.0 | -19.0 | ... | -2.0 | 3.0 | 5.0 | 17.0 | 24.0 | 30.0 | 32.0 | 36.0 | 16.0 | 11.0 |
481 | 1600 | 0.0 | -8.0 | -7.0 | -3.0 | -15.0 | -13.0 | -6.0 | -15.0 | -24.0 | ... | -17.0 | -10.0 | -4.0 | 10.0 | 23.0 | 20.0 | 23.0 | 31.0 | 36.0 | 35.0 |
482 | 1627 | 0.0 | 1.0 | 12.0 | 14.0 | 21.0 | 31.0 | 43.0 | 53.0 | 61.0 | ... | 124.0 | 125.0 | 127.0 | 135.0 | 125.0 | 108.0 | 105.0 | 105.0 | 109.0 | 127.0 |
483 | 1628 | 0.0 | 12.0 | 16.0 | 22.0 | 37.0 | 51.0 | 57.0 | 63.0 | 58.0 | ... | 23.0 | 15.0 | 2.0 | 10.0 | 14.0 | 23.0 | 26.0 | 39.0 | 39.0 | 45.0 |
484 | 1629 | 0.0 | 11.0 | 17.0 | 38.0 | 43.0 | 63.0 | 78.0 | 86.0 | 78.0 | ... | 87.0 | 88.0 | 100.0 | 124.0 | 143.0 | 157.0 | 175.0 | 182.0 | 170.0 | 165.0 |
485 | 1630 | 0.0 | 45.0 | 56.0 | 75.0 | 83.0 | 110.0 | 122.0 | 119.0 | 112.0 | ... | 134.0 | 139.0 | 154.0 | 175.0 | 184.0 | 193.0 | 204.0 | 206.0 | 196.0 | 198.0 |
486 | 1631 | 0.0 | 36.0 | 27.0 | 52.0 | 72.0 | 85.0 | 77.0 | 78.0 | 55.0 | ... | 113.0 | 144.0 | 160.0 | 182.0 | 209.0 | 228.0 | 236.0 | 236.0 | 218.0 | 194.0 |
487 | 1633 | 0.0 | 38.0 | 50.0 | 43.0 | 38.0 | 49.0 | 46.0 | 57.0 | 67.0 | ... | 73.0 | 58.0 | 49.0 | 51.0 | 44.0 | 58.0 | 55.0 | 69.0 | 71.0 | 83.0 |
488 | 1634 | 0.0 | 43.0 | 67.0 | 80.0 | 61.0 | 61.0 | 55.0 | 46.0 | 34.0 | ... | 90.0 | 77.0 | 67.0 | 74.0 | 69.0 | 73.0 | 66.0 | 85.0 | 95.0 | 130.0 |
489 | 1635 | 0.0 | -3.0 | 8.0 | -5.0 | -7.0 | -14.0 | -8.0 | -6.0 | 15.0 | ... | 101.0 | 102.0 | 115.0 | 119.0 | 127.0 | 146.0 | 155.0 | 158.0 | 151.0 | 157.0 |
490 | 1636 | 0.0 | 18.0 | 35.0 | 19.0 | 15.0 | 12.0 | 19.0 | 17.0 | 36.0 | ... | 98.0 | 98.0 | 114.0 | 120.0 | 126.0 | 142.0 | 149.0 | 147.0 | 137.0 | 144.0 |
491 | 1637 | 0.0 | 7.0 | 16.0 | 8.0 | 3.0 | 0.0 | -4.0 | -17.0 | -16.0 | ... | 95.0 | 101.0 | 120.0 | 127.0 | 139.0 | 152.0 | 157.0 | 149.0 | 130.0 | 120.0 |
492 | 1638 | 0.0 | 0.0 | -6.0 | -15.0 | -16.0 | -16.0 | -19.0 | -20.0 | -8.0 | ... | 39.0 | 39.0 | 46.0 | 49.0 | 55.0 | 73.0 | 83.0 | 91.0 | 109.0 | 129.0 |
493 | 1639 | 0.0 | 35.0 | 45.0 | 36.0 | 33.0 | 40.0 | 35.0 | 50.0 | 76.0 | ... | 140.0 | 132.0 | 131.0 | 136.0 | 133.0 | 150.0 | 153.0 | 174.0 | 189.0 | 206.0 |
494 | 1640 | 0.0 | 36.0 | 43.0 | 31.0 | 25.0 | 26.0 | 21.0 | 36.0 | 58.0 | ... | 77.0 | 65.0 | 61.0 | 63.0 | 48.0 | 53.0 | 50.0 | 65.0 | 72.0 | 89.0 |
495 | 1641 | 0.0 | 2.0 | -6.0 | -15.0 | -21.0 | -20.0 | -17.0 | -10.0 | -5.0 | ... | 24.0 | 19.0 | 32.0 | 31.0 | 36.0 | 48.0 | 60.0 | 61.0 | 71.0 | 96.0 |
496 | 1643 | 0.0 | 51.0 | 59.0 | 59.0 | 59.0 | 89.0 | 77.0 | 84.0 | 91.0 | ... | 183.0 | 186.0 | 189.0 | 189.0 | 191.0 | 197.0 | 202.0 | 206.0 | 217.0 | 229.0 |
497 | 1644 | 0.0 | 76.0 | 81.0 | 115.0 | 140.0 | 168.0 | 161.0 | 163.0 | 134.0 | ... | 64.0 | 72.0 | 76.0 | 110.0 | 113.0 | 124.0 | 139.0 | 141.0 | 140.0 | 147.0 |
498 | 1645 | 0.0 | 27.0 | 59.0 | 39.0 | 33.0 | 43.0 | 56.0 | 58.0 | 88.0 | ... | 84.0 | 83.0 | 83.0 | 79.0 | 72.0 | 77.0 | 75.0 | 88.0 | 126.0 | 137.0 |
499 | 1801 | 0.0 | -2.0 | 1.0 | 8.0 | 9.0 | 4.0 | -5.0 | -3.0 | -19.0 | ... | 31.0 | 21.0 | 28.0 | 47.0 | 49.0 | 55.0 | 70.0 | 85.0 | 86.0 | 101.0 |
500 | 2021 | 0.0 | 3.0 | -2.0 | -11.0 | -12.0 | -10.0 | -9.0 | -1.0 | -1.0 | ... | 36.0 | 35.0 | 34.0 | 35.0 | 38.0 | 52.0 | 64.0 | 73.0 | 85.0 | 96.0 |
501 | 2101 | 0.0 | -17.0 | -48.0 | -73.0 | -39.0 | -11.0 | -17.0 | 3.0 | -12.0 | ... | -120.0 | -105.0 | -132.0 | -175.0 | -165.0 | -187.0 | -216.0 | -225.0 | -178.0 | -205.0 |
502 | 2103 | 0.0 | -20.0 | -33.0 | -54.0 | -29.0 | -2.0 | -11.0 | 1.0 | -18.0 | ... | -105.0 | -89.0 | -110.0 | -132.0 | -124.0 | -141.0 | -172.0 | -185.0 | -158.0 | -175.0 |
503 | 2104 | 0.0 | -19.0 | -27.0 | -38.0 | -14.0 | 13.0 | 9.0 | 23.0 | 6.0 | ... | -52.0 | -33.0 | -51.0 | -66.0 | -59.0 | -73.0 | -99.0 | -106.0 | -79.0 | -89.0 |
504 | 2105 | 0.0 | -15.0 | -21.0 | -38.0 | -7.0 | 18.0 | 15.0 | 27.0 | 11.0 | ... | -24.0 | -11.0 | -26.0 | -43.0 | -37.0 | -48.0 | -67.0 | -73.0 | -43.0 | -49.0 |
505 | 2106 | 0.0 | -16.0 | -18.0 | -32.0 | -5.0 | 19.0 | 14.0 | 23.0 | 9.0 | ... | -10.0 | 8.0 | -6.0 | -15.0 | -6.0 | -19.0 | -41.0 | -51.0 | -29.0 | -36.0 |
506 | 2107 | 0.0 | 1.0 | 8.0 | 5.0 | 31.0 | 51.0 | 45.0 | 50.0 | 35.0 | ... | 41.0 | 56.0 | 46.0 | 44.0 | 50.0 | 40.0 | 25.0 | 19.0 | 29.0 | 27.0 |
507 | 2110 | 0.0 | -13.0 | -18.0 | -25.0 | 2.0 | 21.0 | 21.0 | 30.0 | 21.0 | ... | 25.0 | 35.0 | 25.0 | 18.0 | 28.0 | 18.0 | 6.0 | 2.0 | 16.0 | 7.0 |
508 | 2111 | 0.0 | -10.0 | -23.0 | -30.0 | -7.0 | 15.0 | 14.0 | 22.0 | 10.0 | ... | -8.0 | 5.0 | -3.0 | -15.0 | -6.0 | -16.0 | -33.0 | -35.0 | -15.0 | -24.0 |
509 | 2112 | 0.0 | -8.0 | -23.0 | -31.0 | -10.0 | 10.0 | 3.0 | 5.0 | -19.0 | ... | -43.0 | -37.0 | -44.0 | -59.0 | -49.0 | -57.0 | -72.0 | -70.0 | -44.0 | -55.0 |
510 | 2113 | 0.0 | -8.0 | -25.0 | -34.0 | -13.0 | 5.0 | -1.0 | 3.0 | -14.0 | ... | -39.0 | -29.0 | -37.0 | -57.0 | -49.0 | -60.0 | -78.0 | -80.0 | -56.0 | -72.0 |
511 | 2127 | 0.0 | -1.0 | -9.0 | -41.0 | -53.0 | -42.0 | -47.0 | -38.0 | -22.0 | ... | -22.0 | -33.0 | -38.0 | -27.0 | -34.0 | -20.0 | -26.0 | -11.0 | -13.0 | 2.0 |
512 | 2215 | 0.0 | 9.0 | 8.0 | -1.0 | -9.0 | -4.0 | 10.0 | 21.0 | 18.0 | ... | 28.0 | 43.0 | 57.0 | 75.0 | 84.0 | 102.0 | 111.0 | 106.0 | 118.0 | 147.0 |
513 | 2261 | 0.0 | -3.0 | 5.0 | 3.0 | 8.0 | 24.0 | 39.0 | 42.0 | 59.0 | ... | -7.0 | -4.0 | -3.0 | 0.0 | 14.0 | 21.0 | 6.0 | 0.0 | 16.0 | 17.0 |
514 | 2262 | 0.0 | -20.0 | -20.0 | -55.0 | -57.0 | -67.0 | -65.0 | -70.0 | -46.0 | ... | -141.0 | -127.0 | -116.0 | -141.0 | -115.0 | -100.0 | -113.0 | -112.0 | -88.0 | -72.0 |
515 | 2295 | 0.0 | 16.0 | 25.0 | 12.0 | 4.0 | -1.0 | 1.0 | 9.0 | 23.0 | ... | 51.0 | 54.0 | 69.0 | 67.0 | 73.0 | 86.0 | 94.0 | 105.0 | 114.0 | 133.0 |
516 | 2316 | 0.0 | -4.0 | -5.0 | -3.0 | 3.0 | 9.0 | 11.0 | 13.0 | -1.0 | ... | 15.0 | 19.0 | 26.0 | 29.0 | 43.0 | 51.0 | 68.0 | 67.0 | NaN | NaN |
517 | 2324 | 0.0 | 11.0 | 20.0 | 2.0 | -8.0 | -10.0 | -3.0 | 1.0 | 22.0 | ... | 116.0 | 118.0 | 131.0 | 135.0 | 148.0 | 166.0 | 173.0 | 174.0 | 165.0 | 161.0 |
518 | 2330 | 0.0 | 15.0 | -7.0 | -68.0 | -84.0 | -85.0 | -103.0 | -94.0 | -69.0 | ... | -10.0 | -12.0 | -18.0 | -23.0 | -34.0 | -23.0 | -25.0 | -17.0 | -6.0 | -6.0 |
519 rows × 33 columns
data_subset_viz_resampled['id'].nunique()
519
#data_subset_viz_resampled.to_csv('data/dataviz/sealevel_viz_whole_timeseries.csv', index=False)
data_subset_viz_resampled.to_csv('data/dataviz/sealevel_viz_psmsl_1985_2015.csv', index=False)