Modules


In [51]:
import pandas as pd
import numpy as np
import os

Files


In [52]:
michi = pd.read_csv('C:\\users\\jlandman\\Desktop\\michi.csv', encoding='latin-1', sep=',')
lecl = pd.read_csv('C:\\users\\jlandman\\Desktop\\lecl_extra.csv', encoding='latin-1')
world_links = pd.read_csv('C:\\Users\\jlandman\\Desktop\\Manual_links_WGMS_to_RGI_GlaThiDa_Leclercq_WORLD_20160212.csv', encoding='latin-1')
alps_links = pd.read_csv('C:\\Users\\jlandman\\Desktop\\Manual_links_Leclercq_to_WGMS_RGI_ALPS_20160216.csv', encoding='latin-1')
sgi_links = pd.read_csv('C:\\Users\\jlandman\\Documents\\github\\glaciers-cci5\\glaciers_cci5\\sgi2010_rgi_links.csv', encoding='latin-1')
ak_links = pd.read_csv('C:\\Users\\jlandman\\Desktop\\LeBris_Paul_to_FG\\Links_GLIMS_FoG_AK_final_v2.csv', encoding='latin-1')

Some file manipulations


In [53]:
# Select status = True in the manually checked files
lecl_true = lecl[lecl['status'] == True]
world_true = world_links[world_links['status'] == True]
alps_true = alps_links[alps_links['status'] == True]

In [54]:
# make WGMS_ID Integers
lecl_true['WGMS_ID'] = lecl_true['WGMS_ID'].astype(int)
world_true['WGMS_ID'] = world_true['WGMS_ID'].astype(int)
alps_true['WGMS_ID'] = alps_true['WGMS_ID'].astype(int)
sgi_links['WGMS_ID'] = sgi_links['WGMS_ID'].astype(int)
ak_links['WGMS_ID'] = ak_links['WGMS_ID'].astype(int)


C:\Users\jlandman\Anaconda3\lib\site-packages\ipykernel\__main__.py:2: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  from ipykernel import kernelapp as app
C:\Users\jlandman\Anaconda3\lib\site-packages\ipykernel\__main__.py:3: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  app.launch_new_instance()
C:\Users\jlandman\Anaconda3\lib\site-packages\ipykernel\__main__.py:4: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

In [55]:
# set WGMS_ID as index
michi_ind = michi.set_index('WGMS_ID')
lecl_ind = lecl_true.set_index('WGMS_ID')
world_ind = world_true.set_index('WGMS_ID')
alps_ind = alps_true.set_index('WGMS_ID')
sgi_ind = sgi_links.set_index('WGMS_ID')
ak_ind = ak_links.set_index('WGMS_ID')

In [56]:
lecl_ind.rename(columns={'RGI_ID': 'RGI_ID_LEC'}, inplace=True)
world_ind.rename(columns={'RGI_ID': 'RGI_ID_WORLD'}, inplace=True)
alps_ind.rename(columns={'RGI_ID': 'RGI_ID_ALPS'}, inplace=True)
sgi_ind.rename(columns={'RGI_ID': 'RGI_ID_SGI'}, inplace=True)
ak_ind.rename(columns={'GLIMS_ID': 'GLIMS_ID_SGI'}, inplace=True)

Check Michi's list for RGI duplicates (some might result from automatic assignment, see e.g. Feegletscher)


In [7]:
print(len(np.unique([i for i in michi.RGI_ID.values if isinstance(i, str)])))
print(len([i for i in michi.RGI_ID.values if isinstance(i, str)]))
print(len(set([i for i in michi.RGI_ID.values if isinstance(i,str)])))
dup_RGI = np.unique([x for x in michi.RGI_ID.values.tolist() if michi.RGI_ID.values.tolist().count(x) > 1])
list(dup_RGI).remove('nan')


898
966
898

In [8]:
michi[michi.RGI_ID.isin(dup_RGI)].sort_values(by='RGI_ID')


Out[8]:
POLITICAL_UNIT NAME WGMS_ID PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS
3594 US SPIDER 3941 NaN NaN NaN RGI50-02.00974 NaN
2218 IS SKEIDARARJOEKULL E1 3116 IS0117A IS0000V0117A NaN RGI50-02.00974 NaN
2896 KZ KAVRAYSKIY 1078 NaN NaN NaN RGI50-03.01427 NaN
269 CA LAIKA 1412 CA0720 NaN NaN RGI50-03.01427 NaN
2081 GL FREYA 3350 NaN NaN NaN RGI50-05.20030 NaN
2299 IT CAGAMEI IV 2543 IT0535B IT4L01132008 NaN RGI50-05.20030 NaN
3121 NZ ST.MARY 3022 NaN NZ0711B39000 NaN RGI50-07.00382 NaN
3303 SJ DAUDBREEN 3915 NaN NaN NaN RGI50-07.00382 NaN
3410 SJ WALDEMARBREEN 2307 SJ15403 NaN NaN RGI50-07.00492 NaN
3364 SJ NATHORSTBREEN 3499 SJ13214 SJ4W00103214 NaN RGI50-07.00492 NaN
120 AT KALSER BAERENKOPF K. 2676 NaN NaN NaN RGI50-07.01100 NaN
3320 SJ FRIDTJOVBREEN 3494 SJ13708 SJ4W00103708 NaN RGI50-07.01100 NaN
2918 NO BLAAISEN 1328 NO7421 NO4A000DZ011 NaN RGI50-08.00710 NaN
3509 US HANGING 3389 NaN NaN NaN RGI50-08.00710 NaN
3543 US MC CARTY 3396 NaN NaN NaN RGI50-08.01432 NaN
2925 NO BONDHUSBREA 318 NO20408 NO4A000AJ002 NaN RGI50-08.01432 NaN
2914 NO AUSTRE MEMURUBREEN 1317 NO0053A NO4A000AB033 NaN RGI50-08.01655 NaN
3487 US DOUBLE 3383 NaN NaN NaN RGI50-08.01655 NaN
277 CA MUD 3416 NaN NaN NaN RGI50-08.01736 NaN
2942 NO HARBARDSBREEN 2320 NO30704 NO4A000A2004 NaN RGI50-08.01736 NaN
2994 NO TUNSBERGDALSBREEN 1316 NO3100 NO4A000A4007 NaN RGI50-08.02379 NaN
3324 SJ GRUMANTBREEN 3496 SJ14201 SJ4W00104201 NaN RGI50-08.02379 NaN
214 AT ZETTALUNITZ/MULLWITZ K. 578 AT0508 ATJ131I0S054 NaN RGI50-11.00190 NaN
148 AT MUTMAL F. 506 AT0227 ATJ143O0E108 NaN RGI50-11.00190 NaN
1239 CH PIZOL 417 CH0081 CHR0135000D1 NaN RGI50-11.00638 NaN
3266 SE PASSUSJIETNA W 345 SE0796 SEB000E0Z012 NaN RGI50-11.00638 NaN
117 AT JAMTAL F. 480 AT0106 ATJ143S0N019 NaN RGI50-11.00781 NaN
731 CH FUORCLA D'UREZZAS 5862 NaN NaN G010162E46849N RGI50-11.00781 NaN
1507 CH SURETTA 411 CH0087 CHR013103I 2 NaN RGI50-11.00797 NaN
151 AT OCHSENTALER G. 483 AT0103 ATR013I0L008 NaN RGI50-11.00797 NaN
... ... ... ... ... ... ... ... ...
3189 PK SIACHEN 3666 NaN NaN NaN RGI50-14.07524 NaN
1953 CO BOLIVAR 2783 NaN NaN NaN RGI50-14.07524 NaN
2150 IN SHAUNE GARANG 1048 IN0084 IN5Q220 1984 NaN RGI50-14.12323 NaN
1996 ES INFIERNO E 957 ES2020 ES4O001105 4 NaN RGI50-14.12323 NaN
2206 IS MULAJOEKULL S 3105 IS0311A IS0000V0311B NaN RGI50-14.19543 NaN
2144 IN NEH NAR 3930 NaN NaN NaN RGI50-14.19543 NaN
3251 RU ULLUMALIENDERKU 833 RU3024 RU4G00307004 NaN RGI50-15.03507 NaN
3005 NP AX010 906 NP0005 NP0 XXX00005 NaN RGI50-15.03507 NaN
1902 CN HAILUOGOU 849 CN0031 CN5K6120F003 NaN RGI50-15.07886 NaN
3236 RU MURKAR 776 RU3020 RU4G00307030 NaN RGI50-15.07886 NaN
2180 IS GLJUFURARJOEKULL 3080 IS0103 IS0000V00103 NaN RGI50-15.09026 NaN
1915 CN NAIMONA NYI 3991 NaN NaN NaN RGI50-15.09026 NaN
1918 CN PARLUNG NO. 94 3987 CN0094 CN5O2820A010 NaN RGI50-15.11693 NaN
2176 IS FLAAJOEKULL E 148 3076 IS1930C NaN NaN RGI50-15.11693 NaN
1921 CN PARLUNG ZANGBO: NO. 12 3986 CN0012 CN5O2820B000 NaN RGI50-15.11962 NaN
2175 IS FLAAJOEKULL E 146 3075 IS1930D NaN NaN RGI50-15.11962 NaN
217 BO ZONGO 1503 BO5150 BO00XXX00001 NaN RGI50-16.00543 NaN
2892 KZ DZHAMBUL 1099 NaN NaN NaN RGI50-16.00543 NaN
1986 EC ANTIZANA15ALPHA 1624 EC1DA15 EC1D30370015 NaN RGI50-16.01339 NaN
223 CA ASULKAN 1401 CA0185 NaN NaN RGI50-16.01339 NaN
215 BO CHACALTAYA 1505 BO5180 BO00XXX00002 NaN RGI50-16.01447 NaN
2893 KZ GERASIMOV 1100 NaN NaN NaN RGI50-16.01447 NaN
2856 KE LEWIS 695 KE0008 KEE021D00001 NaN RGI50-16.01638 NaN
3325 SJ HAABERGBREEN 3497 SJ14202 SJ4W00104202 NaN RGI50-16.01638 NaN
3142 PE ARTESONRAJU 3292 PE0003 PEP005C0GH01 NaN RGI50-16.02444 NaN
2257 IT BADILETTO 2491 IT0385 IT4L01104006 NaN RGI50-16.02444 NaN
1884 CL TORO 1 3980 NaN NaN NaN RGI50-17.15113 NaN
2167 IS EYJABAKKAJOEKULL 3069 IS2300 IS0000V02300 NaN RGI50-17.15113 NaN
2169 IS EYVINDSTUNGNAK 3070 IS1627 NaN NaN RGI50-17.15114 NaN
1885 CL TORO 2 3981 NaN NaN NaN RGI50-17.15114 NaN

131 rows × 8 columns


In [9]:
print(len([i for i in michi_ind.RGI_ID.values if isinstance(i, str)]))


966

Make all changes on a copy of the file


In [57]:
michi_update = michi_ind.copy()

Join RGI links of other files based on FoG_ID (Index)


In [58]:
michi_update = michi_update.join([lecl_ind.RGI_ID_LEC, world_ind.RGI_ID_WORLD, alps_ind.RGI_ID_ALPS, sgi_ind.RGI_ID_SGI, ak_ind.GLIMS_ID_SGI], how='outer')

In [63]:
for i in range(len(michi_update.RGI_ID_LEC.values)):
    if isinstance(michi_update.RGI_ID_LEC.values[i], float):
        print(michi_update.RGI_ID_LEC.values[i])


nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan

See all cases where there is more than one link and compare if they are the same


In [64]:
michi_update[michi_update[['RGI_ID_LEC', 'RGI_ID_WORLD', 'RGI_ID_ALPS', 'RGI_ID_SGI']].isnull().sum(axis=1) <3][:20]


Out[64]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI
WGMS_ID
352 FR GEBROULAZ FR0009 FRN010406E06 NaN RGI50-11.03432 NaN RGI50-11.03437 NaN RGI50-11.03437 NaN NaN
353 FR MER DE GLACE FR0003 FRN010306A01 NaN RGI50-11.02923 NaN RGI50-11.02923 RGI50-11.02923 RGI50-11.02923 NaN NaN
354 FR ARGENTIERE FR0002 FRN010305A08 NaN RGI50-11.02835 NaN RGI50-11.02835 NaN RGI50-11.02835 NaN NaN
355 FR BOSSONS FR0004 FRN010307D03 NaN NaN NaN RGI50-11.03067 NaN RGI50-11.03067 NaN NaN
356 FR SAINT SORLIN FR0015 FRN010602B09 NaN RGI50-11.03503 NaN RGI50-11.03503 NaN RGI50-11.03503 NaN NaN
359 CH GRIES CH0003 CHN012405004 NaN RGI50-11.01876 NaN RGI50-11.01876 NaN RGI50-11.01876 NaN NaN
360 CH GROSSER ALETSCH CH0005 CHN012306026 NaN NaN NaN RGI50-11.01450 NaN RGI50-11.01450 NaN NaN
365 CH VALSOREY CH0039 CHN012804015 NaN NaN NaN RGI50-11.02979 NaN RGI50-11.02979 NaN NaN
371 CH TSANFLEURON CH0033 CHN012202001 NaN NaN NaN RGI50-11.02249 NaN RGI50-11.02249 NaN NaN
376 CH TSIDJIORE NOUVE CH0028 CHN012703016 NaN NaN NaN RGI50-11.02771 NaN RGI50-11.02771 NaN NaN
379 CH FERPECLE CH0025 CHN012702011 NaN NaN NaN RGI50-11.02728 NaN RGI50-11.02728 NaN NaN
380 CH MOIRY CH0024 CHN012604002 NaN NaN NaN RGI50-11.02595 NaN RGI50-11.02595 NaN NaN
382 CH ZINAL CH0022 CHN012603005 NaN NaN NaN RGI50-11.02641 NaN RGI50-11.02641 NaN NaN
385 CH TURTMANN (WEST) CH0019 CHN0126000B9 NaN NaN NaN RGI50-11.02490 NaN RGI50-11.02490 NaN NaN
386 CH LANG CH0018 CHN012301004 NaN NaN NaN RGI50-11.01698 NaN RGI50-11.01698 NaN NaN
391 CH GORNER CH0014 CHN012506007 NaN NaN NaN RGI50-11.02848 NaN RGI50-11.02848 NaN NaN
392 CH FEE NORTH CH0013 CHN012503004 NaN NaN NaN RGI50-11.02607 NaN RGI50-11.02607 NaN NaN
394 CH ALLALIN CH0011 CHN012502029 NaN NaN NaN RGI50-11.02715 NaN RGI50-11.02715 NaN NaN
396 CH FORNO CH0102 CHL011803012 NaN NaN NaN RGI50-11.02245 NaN RGI50-11.02245 NaN NaN
398 CH PALUE CH0100 CHL011903004 NaN NaN NaN RGI50-11.02144 NaN RGI50-11.02144 NaN NaN

In [65]:
michi_update[~pd.isnull(michi_update.RGI_ID.values)][0:25]# & michi_update[['RGI_ID_LEC', 'RGI_ID_WORLD', 'RGI_ID_ALPS', 'RGI_ID_SGI']].isnull().sum(axis=1) <3]


Out[65]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI
WGMS_ID
24 CA TIEDEMANN CA2040 CA0 XXX00017 NaN RGI50-02.05862 NaN NaN RGI50-02.05862 NaN NaN NaN
32 CA ALEXANDER CA0133 CA0N00200001 NaN RGI50-01.05355 NaN NaN RGI50-01.05355 NaN NaN NaN
47 CA BRIDGE CA0275 CA0M20000001 NaN RGI50-02.04119 NaN NaN RGI50-02.04119 NaN NaN NaN
53 CA WARD H. I. RISE CA2318 CA0 XXX00003 NaN RGI50-03.04079 NaN NaN RGI50-03.04079 NaN NaN NaN
66 CA BENCH CA0234 CA0 XXX00013 NaN RGI50-02.05986 NaN NaN RGI50-02.05986 NaN NaN NaN
138 US GILMAN US1321 USN000C00063 NaN RGI50-01.20830 NaN NaN RGI50-01.20830 NaN NaN NaN
201 US NISQUALLY US2027 USM000B00129 NaN RGI50-02.00644 NaN NaN RGI50-02.00644 NaN NaN NaN
203 US EMMONS US2022 USM000B00127 NaN RGI50-02.00651 NaN NaN RGI50-02.00651 NaN NaN NaN
232 GL AMITSULOQ ICE CAP GL0004 GL2U1DG16166 NaN RGI50-05.00446 NaN NaN RGI50-05.00446 NaN NaN NaN
238 GL QAPIARFIUP SER. GL0009 GL2U1DB10003 NaN RGI50-05.00115 NaN NaN RGI50-05.00115 NaN NaN NaN
240 GL VALHALTINDE GL0001 GL2U1AG05008 NaN RGI50-05.05149 NaN NaN NaN NaN NaN NaN
286 NO HOEGTUVBREEN NO5507 NO4A000CX007 NaN RGI50-08.02616 NaN NaN NaN NaN NaN NaN
318 NO BONDHUSBREA NO20408 NO4A000AJ002 NaN RGI50-08.01432 NaN NaN RGI50-08.01432 NaN NaN NaN
327 SE PARTEJEKNA SE0763 SEB000E08002 NaN RGI50-08.00928 NaN NaN RGI50-08.00928 NaN NaN NaN
345 SE PASSUSJIETNA W SE0796 SEB000E0Z012 NaN RGI50-11.00638 NaN NaN NaN NaN NaN NaN
346 DE SCHNEEFERNER N DE0001 DE4J14400001 NaN RGI50-11.03974 NaN NaN NaN NaN NaN NaN
352 FR GEBROULAZ FR0009 FRN010406E06 NaN RGI50-11.03432 NaN RGI50-11.03437 NaN RGI50-11.03437 NaN NaN
353 FR MER DE GLACE FR0003 FRN010306A01 NaN RGI50-11.02923 NaN RGI50-11.02923 RGI50-11.02923 RGI50-11.02923 NaN NaN
354 FR ARGENTIERE FR0002 FRN010305A08 NaN RGI50-11.02835 NaN RGI50-11.02835 NaN RGI50-11.02835 NaN NaN
356 FR SAINT SORLIN FR0015 FRN010602B09 NaN RGI50-11.03503 NaN RGI50-11.03503 NaN RGI50-11.03503 NaN NaN
357 FR SARENNES FR0029 FRN010603A02 NaN RGI50-11.03515 NaN NaN NaN NaN NaN NaN
359 CH GRIES CH0003 CHN012405004 NaN RGI50-11.01876 NaN RGI50-11.01876 NaN RGI50-11.01876 NaN NaN
389 CH FINDELEN CH0016 CHN012506003 NaN RGI50-11.02789 NaN NaN RGI50-11.02789 NaN NaN NaN
408 CH SILVRETTA CH0090 CHR013100G 5 NaN RGI50-11.00804 NaN NaN NaN NaN NaN NaN
410 CH PORCHABELLA CH0088 CHR013102E 4 NaN RGI50-11.00807 NaN NaN NaN NaN NaN NaN

In [66]:
michi_update.columns.values


Out[66]:
array(['POLITICAL_UNIT', 'NAME', 'PSFG_ID', 'WGI_ID', 'GLIMS_ID', 'RGI_ID',
       'REMARKS', 'RGI_ID_LEC', 'RGI_ID_WORLD', 'RGI_ID_ALPS',
       'RGI_ID_SGI', 'GLIMS_ID_SGI'], dtype=object)

In [32]:
michi_update[['RGI_ID', 'RGI_ID_LEC', 'RGI_ID_WORLD', 'RGI_ID_ALPS', 'RGI_ID_SGI', 'GLIMS_ID_SGI']] = michi_update[['RGI_ID', 'RGI_ID_LEC', 'RGI_ID_WORLD', 'RGI_ID_ALPS', 'RGI_ID_SGI', 'GLIMS_ID_SGI']].astype(str)

Check where Michi's RGI_ID does not fit my findings


In [33]:
michi_update.loc[(michi_update.RGI_ID != michi_update.RGI_ID_LEC) 
                 & (michi_update.RGI_ID_LEC != 'nan') 
                 & (michi_update.RGI_ID != 'nan')]


Out[33]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI
WGMS_ID
352 FR GEBROULAZ FR0009 FRN010406E06 NaN RGI50-11.03432 NaN RGI50-11.03437 nan RGI50-11.03437 nan nan
589 AT HORN K. (ZILLER) AT0402 ATJ143Z0I075 NaN RGI50-11.01776 NaN RGI50-11.00459 nan RGI50-11.00459 nan nan

In [34]:
michi_update.loc[(michi_update.RGI_ID != michi_update.RGI_ID_WORLD) 
                 & (michi_update.RGI_ID_WORLD != 'nan') 
                 & (michi_update.RGI_ID != 'nan')]


Out[34]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI
WGMS_ID

In [35]:
michi_update.loc[(michi_update.RGI_ID != michi_update.RGI_ID_ALPS) 
                 & (michi_update.RGI_ID_ALPS != 'nan') 
                 & (michi_update.RGI_ID != 'nan')]


Out[35]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI
WGMS_ID
352 FR GEBROULAZ FR0009 FRN010406E06 NaN RGI50-11.03432 NaN RGI50-11.03437 nan RGI50-11.03437 nan nan
589 AT HORN K. (ZILLER) AT0402 ATJ143Z0I075 NaN RGI50-11.01776 NaN RGI50-11.00459 nan RGI50-11.00459 nan nan

In [36]:
michi_update.loc[(michi_update.RGI_ID != michi_update.RGI_ID_SGI) 
                 & (michi_update.RGI_ID_SGI != 'nan') 
                 & (michi_update.RGI_ID != 'nan')]


Out[36]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI
WGMS_ID
5868 CH FENGA VADRET DA-N-II (PART OF E73/04) NaN NaN G010233E46896N RGI50-11.0072 NaN nan nan nan RGI50-11.00723 nan

Compile new data set by merging the columns together and put remarks:


In [50]:
for i in range(len(michi_update['RGI_ID_new'].values)):
    if isinstance(michi_update['RGI_ID_new'].values[i], float):
        print(michi_update['RGI_ID_new'].values[i])


nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan

In [37]:
michi_update['RGI_ID_new'] = np.where(michi_update.RGI_ID_LEC != 'nan', michi_update.RGI_ID_LEC, np.nan)

In [43]:
michi_update[~pd.isnull(michi_update['RGI_ID_new'])]


Out[43]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI RGI_ID_new
WGMS_ID
0 CA WHITE CA2340 CAR014E00015 NaN nan NaN nan nan nan nan nan nan
1 CA BABY CA0205 CAR014E00009 NaN nan NaN nan nan nan nan nan nan
2 CA SOUTH ICE CAP CA1961 CA002R700001 NaN nan NaN nan nan nan nan nan nan
3 CA NADAHINI CA1402 CA0N00300001 NaN nan NaN nan nan nan nan nan nan
4 CA BERENDON CA0240 CA0N00B00001 NaN nan NaN nan nan nan nan nan nan
5 CA NEW MOON CA1430 CA0N00100001 NaN nan NaN nan nan nan nan nan nan
6 CA UTEM CA2190 CA0M22200001 NaN nan NaN nan nan nan nan nan nan
7 CA ATHABASCA CA0190 CA0A12100001 NaN nan NaN nan nan nan nan nan nan
8 CA SASKATCHEWAN CA1905 CA0B22200001 NaN nan NaN nan nan nan nan nan nan
9 CA DEER LAKE CA0420 CAM000C00007 NaN nan NaN nan nan nan nan nan nan
10 CA BUGABOO CA0290 CA0M12100002 NaN nan NaN nan nan nan nan nan nan
11 CA BERM CA0245 CAM000C00001 NaN nan NaN nan nan nan nan nan nan
12 CA HAVOC CA0840 CAM000C00006 NaN nan NaN nan nan nan nan nan nan
13 CA SURF CA1986 CAM000C00011 NaN nan NaN nan nan nan nan nan nan
14 CA WAVE CA2330 CAM000C00005 NaN nan NaN nan nan nan nan nan nan
15 CA TERRIFIC CA2025 CAM000C00009 NaN nan NaN nan nan nan nan nan nan
16 CA MEIGHEN ICE CAP CA1335 CA002R900001 NaN nan NaN nan nan nan nan nan nan
17 CA CLENDENNING CA0335 CAN000C00003 NaN nan NaN nan nan nan nan nan nan
18 CA STAIRCASE CA1973 CA0M20000006 NaN nan NaN nan nan nan nan nan nan
19 CA SPHINX CA1965 CA0M20000003 NaN nan NaN nan nan nan nan nan nan
20 CA FLEUR D. NEIGES CA0675 CAM000C00003 NaN nan NaN nan nan nan nan nan nan
21 CA GRIFFIN CA0784 CA0M20000004 NaN nan NaN nan nan nan nan nan nan
22 CA THUNDERCLAP CA2035 CA0M20000005 NaN nan NaN nan nan nan nan nan nan
23 CA KOKANEE CA1190 CA0M13100001 NaN nan NaN nan nan nan nan nan nan
24 CA TIEDEMANN CA2040 CA0 XXX00017 NaN RGI50-02.05862 NaN nan RGI50-02.05862 nan nan nan nan
25 CA ATAVIST CA0187 CA0 XXX00012 NaN nan NaN nan nan nan nan nan nan
26 CA APE CA0170 CAM000D00001 NaN nan NaN nan nan nan nan nan nan
27 CA FYLES CA0698 CAM000C00008 NaN nan NaN nan nan nan nan nan nan
28 CA NOEICK CA1465 CA0 XXX00015 NaN nan NaN nan nan nan nan nan nan
29 CA PURGATORY CA1690 CA0 XXX00016 NaN nan NaN nan nan nan nan nan nan
... ... ... ... ... ... ... ... ... ... ... ... ... ...
6772 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206844E60039N nan
6773 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206850E60004N nan
6774 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206890E59973N nan
6775 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206774E60048N nan
6776 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206762E60107N nan
6777 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206823E60179N nan
6778 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206418E60190N nan
6779 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206357E60193N nan
6780 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206486E60170N nan
6781 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206745E60082N nan
6783 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206571E60036N nan
6784 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206524E60028N nan
6785 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206469E60018N nan
6788 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206139E58755N nan
6789 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206188E58754N nan
6790 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206519E58873N nan
6791 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206345E58909N nan
6792 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206345E58890N nan
6793 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206315E58814N nan
6794 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206551E58864N nan
6795 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206360E58845N nan
6796 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206268E58817N nan
6797 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206444E58751N nan
6798 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206279E58752N nan
6799 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206361E58743N nan
6800 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206326E58740N nan
6801 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206522E58826N nan
6802 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206273E58777N nan
6803 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206443E58887N nan
6804 NaN NaN NaN NaN NaN nan NaN nan nan nan nan G206427E58770N nan

4383 rows × 13 columns


In [39]:
michi_update['RGI_ID_new'] = np.where(pd.isnull(michi_update.RGI_ID_new), michi_update.RGI_ID_WORLD, np.nan)

In [40]:
michi_update['RGI_ID_new'] = np.where(pd.isnull(michi_update.RGI_ID_new), michi_update.RGI_ID_ALPS, np.nan)

In [41]:
michi_update['RGI_ID_new'] = np.where(pd.isnull(michi_update.RGI_ID_new), michi_update.RGI_ID_SGI, np.nan)

In [42]:
michi_update[pd.isnull(michi_update['RGI_ID_new'])]


Out[42]:
POLITICAL_UNIT NAME PSFG_ID WGI_ID GLIMS_ID RGI_ID REMARKS RGI_ID_LEC RGI_ID_WORLD RGI_ID_ALPS RGI_ID_SGI GLIMS_ID_SGI RGI_ID_new
WGMS_ID
352 FR GEBROULAZ FR0009 FRN010406E06 NaN RGI50-11.03432 NaN RGI50-11.03437 nan RGI50-11.03437 nan nan NaN
353 FR MER DE GLACE FR0003 FRN010306A01 NaN RGI50-11.02923 NaN RGI50-11.02923 RGI50-11.02923 RGI50-11.02923 nan nan NaN
354 FR ARGENTIERE FR0002 FRN010305A08 NaN RGI50-11.02835 NaN RGI50-11.02835 nan RGI50-11.02835 nan nan NaN
355 FR BOSSONS FR0004 FRN010307D03 NaN nan NaN RGI50-11.03067 nan RGI50-11.03067 nan nan NaN
356 FR SAINT SORLIN FR0015 FRN010602B09 NaN RGI50-11.03503 NaN RGI50-11.03503 nan RGI50-11.03503 nan nan NaN
359 CH GRIES CH0003 CHN012405004 NaN RGI50-11.01876 NaN RGI50-11.01876 nan RGI50-11.01876 nan nan NaN
360 CH GROSSER ALETSCH CH0005 CHN012306026 NaN nan NaN RGI50-11.01450 nan RGI50-11.01450 nan nan NaN
365 CH VALSOREY CH0039 CHN012804015 NaN nan NaN RGI50-11.02979 nan RGI50-11.02979 nan nan NaN
371 CH TSANFLEURON CH0033 CHN012202001 NaN nan NaN RGI50-11.02249 nan RGI50-11.02249 nan nan NaN
376 CH TSIDJIORE NOUVE CH0028 CHN012703016 NaN nan NaN RGI50-11.02771 nan RGI50-11.02771 nan nan NaN
379 CH FERPECLE CH0025 CHN012702011 NaN nan NaN RGI50-11.02728 nan RGI50-11.02728 nan nan NaN
380 CH MOIRY CH0024 CHN012604002 NaN nan NaN RGI50-11.02595 nan RGI50-11.02595 nan nan NaN
382 CH ZINAL CH0022 CHN012603005 NaN nan NaN RGI50-11.02641 nan RGI50-11.02641 nan nan NaN
385 CH TURTMANN (WEST) CH0019 CHN0126000B9 NaN nan NaN RGI50-11.02490 nan RGI50-11.02490 nan nan NaN
386 CH LANG CH0018 CHN012301004 NaN nan NaN RGI50-11.01698 nan RGI50-11.01698 nan nan NaN
391 CH GORNER CH0014 CHN012506007 NaN nan NaN RGI50-11.02848 nan RGI50-11.02848 nan nan NaN
392 CH FEE NORTH CH0013 CHN012503004 NaN nan NaN RGI50-11.02607 nan RGI50-11.02607 nan nan NaN
394 CH ALLALIN CH0011 CHN012502029 NaN nan NaN RGI50-11.02715 nan RGI50-11.02715 nan nan NaN
396 CH FORNO CH0102 CHL011803012 NaN nan NaN RGI50-11.02245 nan RGI50-11.02245 nan nan NaN
398 CH PALUE CH0100 CHL011903004 NaN nan NaN RGI50-11.02144 nan RGI50-11.02144 nan nan NaN
406 CH ROSEG CH0092 CHJ143203011 NaN nan NaN RGI50-11.02119 nan RGI50-11.02119 nan nan NaN
409 CH VERSTANKLA CH0089 CHR013100G 8 NaN nan NaN RGI50-11.00848 nan RGI50-11.00848 nan nan NaN
417 CH PIZOL CH0081 CHR0135000D1 NaN RGI50-11.00638 NaN RGI50-11.00638 RGI50-11.00638 RGI50-11.00638 nan nan NaN
426 CH HUEFI CH0073 CHR013501D10 NaN nan NaN RGI50-11.00872 nan RGI50-11.00872 nan nan NaN
427 CH BRUNNI CH0072 CHR013501D72 NaN nan NaN RGI50-11.01120 nan RGI50-11.01120 nan nan NaN
431 CH KEHLEN CH0068 CHR013501F15 NaN nan NaN RGI50-11.01193 nan RGI50-11.01193 nan nan NaN
436 CH BLUEMLISALP CH0064 CHR013505B 2 NaN nan NaN RGI50-11.01621 nan RGI50-11.01621 nan nan NaN
443 CH UNTERER GRINDELWALD CH0058 CHR013504L19 NaN nan NaN RGI50-11.01346 nan RGI50-11.01346 nan nan NaN
444 CH OBERER GRINDELWALD CH0057 CHR013504L 4 NaN nan NaN RGI50-11.01270 nan RGI50-11.01270 nan nan NaN
445 CH ROSENLAUI CH0056 CHR013504J 2 NaN nan NaN RGI50-11.01222 nan RGI50-11.01222 nan nan NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ...
516 AT NIEDERJOCH F. AT0217 ATJ143O0E111 NaN nan NaN RGI50-11.00992 nan RGI50-11.00992 nan nan NaN
519 AT TASCHACH F. AT0205 ATJ143P0I014 NaN nan NaN RGI50-11.00687 nan RGI50-11.00687 nan nan NaN
522 AT GEPATSCH F. AT0202 ATJ143F0A022 NaN nan NaN RGI50-11.00746 nan RGI50-11.00746 nan nan NaN
535 AT HALLSTAETTER G. AT1102 ATJ142T0R002 NaN RGI50-11.00002 NaN RGI50-11.00002 RGI50-11.00002 RGI50-11.00002 nan nan NaN
536 AT GR. GOSAU G. AT1101 ATJ142T0R004 NaN nan NaN RGI50-11.00003 nan RGI50-11.00003 nan nan NaN
541 AT KLEINELEND K. AT1002 ATJ131L0I022 NaN nan NaN RGI50-11.00181 nan RGI50-11.00181 nan nan NaN
542 AT GROSSELEND K. AT1001 ATJ131L0I014 NaN nan NaN RGI50-11.00291 nan RGI50-11.00291 nan nan NaN
559 AT OEDENWINKEL K. AT0712 ATJ143S0A094 NaN nan NaN RGI50-11.00124 nan RGI50-11.00124 nan nan NaN
566 AT PASTERZE AT0704 ATJ131M0O027 NaN RGI50-11.00106 NaN RGI50-11.00106 nan RGI50-11.00106 nan nan NaN
568 AT KARLINGER K. AT0701 ATJ143S0A073 NaN nan NaN RGI50-11.00067 nan RGI50-11.00067 nan nan NaN
574 AT UMBAL K. AT0512 ATJ131I0S040 NaN nan NaN RGI50-11.00278 nan RGI50-11.00278 nan nan NaN
577 AT DORFER K. AT0509 ATJ131I0S052 NaN nan NaN RGI50-11.00164 nan RGI50-11.00164 nan nan NaN
578 AT ZETTALUNITZ/MULLWITZ K. AT0508 ATJ131I0S054 NaN RGI50-11.00190 NaN RGI50-11.00190 RGI50-11.00190 RGI50-11.00190 nan nan NaN
580 AT SCHLATEN K. AT0506 ATJ131I0S077 NaN nan NaN RGI50-11.00135 nan RGI50-11.00135 nan nan NaN
581 AT VILTRAGEN K. AT0505 ATJ131I0S078 NaN nan NaN RGI50-11.00110 nan RGI50-11.00110 nan nan NaN
582 AT UNTERSULZBACH K. AT0503 ATJ143S0A123 NaN nan NaN RGI50-11.00068 nan RGI50-11.00068 nan nan NaN
588 AT SCHWARZENSTEIN AT0403 ATJ143Z0I073 NaN nan NaN RGI50-11.00415 nan RGI50-11.00415 nan nan NaN
589 AT HORN K. (ZILLER) AT0402 ATJ143Z0I075 NaN RGI50-11.01776 NaN RGI50-11.00459 nan RGI50-11.00459 nan nan NaN
590 AT WAXEGG K. AT0401 ATJ143Z0I076 NaN nan NaN RGI50-11.00469 nan RGI50-11.00469 nan nan NaN
597 AT E.GRUEBL F. AT0317 ATJ143S0I023 NaN nan NaN RGI50-11.00577 nan RGI50-11.00577 nan nan NaN
601 AT FERNAU F. AT0312 ATJ143S0I034 NaN nan NaN RGI50-11.00548 nan RGI50-11.00548 nan nan NaN
604 AT DAUNKOGEL F. AT0310A ATJ143S0IA36 NaN nan NaN RGI50-11.00518 nan RGI50-11.00518 nan nan NaN
620 IT LYS IT0304 IT4L01302002 NaN nan NaN RGI50-11.02973 nan RGI50-11.02973 nan nan NaN
629 IT VENTINA IT0416 IT4L01122009 NaN nan NaN RGI50-11.02351 nan RGI50-11.02351 nan nan NaN
631 IT HOHSAND SETT. (SABBIONE SETT.) IT0357 IT4L01216018 NaN nan NaN RGI50-11.01863 nan RGI50-11.01863 nan nan NaN
664 IT MANDRONE IT0639 IT4L01011015 NaN nan NaN RGI50-11.02437 nan RGI50-11.02437 nan nan NaN
670 IT FORNI IT0507 IT4L01137024 NaN nan NaN RGI50-11.01974 nan RGI50-11.01974 nan nan NaN
681 IT PRE DE BAR IT0235 IT4L01317028 NaN nan NaN RGI50-11.02967 nan RGI50-11.02967 nan nan NaN
1454 AT SULZENAU F. STUBE AT0314B ATJ143S0I032 NaN nan NaN RGI50-11.00541 nan RGI50-11.00541 nan nan NaN
1673 CH MORTERATSCH CH0094 NaN NaN nan NaN RGI50-11.01946 nan RGI50-11.01946 nan nan NaN

80 rows × 13 columns

Corrections for 'problem glaciers'


In [ ]:

Output


In [ ]: