{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Quick Maps Exploration","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19"}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport geopandas as gpd","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:49.520592Z","iopub.execute_input":"2022-03-16T09:51:49.520928Z","iopub.status.idle":"2022-03-16T09:51:49.526517Z","shell.execute_reply.started":"2022-03-16T09:51:49.520894Z","shell.execute_reply":"2022-03-16T09:51:49.525625Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"path = '../input/geolifeclef-2022-lifeclef-2022-fgvc9'\nmetadata_folder = '/metadata/'\nobservations_folder = '/observations/'","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:49.533282Z","iopub.execute_input":"2022-03-16T09:51:49.533570Z","iopub.status.idle":"2022-03-16T09:51:49.539051Z","shell.execute_reply.started":"2022-03-16T09:51:49.533535Z","shell.execute_reply":"2022-03-16T09:51:49.537967Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"species = pd.read_csv(path + metadata_folder + 'species_details.csv', sep=';')\ntrain_val_fr = pd.read_csv(path + observations_folder + 'observations_fr_train.csv', sep=';')\ntrain_val_fr['location'] = 'France'\ntrain_val_us = pd.read_csv(path + observations_folder + 'observations_us_train.csv', sep=';')\ntrain_val_us['location'] = 'USA'\ntrain_val = train_val_fr.append(train_val_us)\n\ntrain = train_val[train_val['subset'] == 'train'].drop(columns='subset')\nvalidation = train_val[train_val['subset'] == 'val'].drop(columns='subset')\n\ntrain = train.merge(species, on='species_id', how='left')\ntrain.sample(5)","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:49.541810Z","iopub.execute_input":"2022-03-16T09:51:49.542578Z","iopub.status.idle":"2022-03-16T09:51:51.904106Z","shell.execute_reply.started":"2022-03-16T09:51:49.542530Z","shell.execute_reply":"2022-03-16T09:51:51.903249Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"geom = gpd.points_from_xy(x = train['longitude'], y=train['latitude'], crs=4326)\ntrain_geo = gpd.GeoDataFrame(train, geometry=geom)","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:51.906130Z","iopub.execute_input":"2022-03-16T09:51:51.906480Z","iopub.status.idle":"2022-03-16T09:51:52.317982Z","shell.execute_reply.started":"2022-03-16T09:51:51.906435Z","shell.execute_reply":"2022-03-16T09:51:52.317044Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Filter to France only","metadata":{}},{"cell_type":"code","source":"train_geo_fr = train_geo[train_geo['location']=='France']","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:52.319717Z","iopub.execute_input":"2022-03-16T09:51:52.320432Z","iopub.status.idle":"2022-03-16T09:51:52.689407Z","shell.execute_reply.started":"2022-03-16T09:51:52.320382Z","shell.execute_reply":"2022-03-16T09:51:52.688604Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Map by Kingdom","metadata":{}},{"cell_type":"code","source":"train_geo_fr['GBIF_kingdom_name'].value_counts(dropna=False).plot(kind='bar', color=['green', 'red'], title='Count by Kingdom (France)');","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:52.691885Z","iopub.execute_input":"2022-03-16T09:51:52.692760Z","iopub.status.idle":"2022-03-16T09:51:52.959026Z","shell.execute_reply.started":"2022-03-16T09:51:52.692707Z","shell.execute_reply":"2022-03-16T09:51:52.958111Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"kingdom_params = dict(column=\"GBIF_kingdom_name\", tooltip=True, popup=True, cmap=['red', 'green'], marker_kwds=dict(radius=3.5, fill=True), style_kwds=dict(stroke=False))\ntrain_geo_fr.sample(12000).explore(**kingdom_params)","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:52.960163Z","iopub.execute_input":"2022-03-16T09:51:52.960376Z","iopub.status.idle":"2022-03-16T09:51:58.153054Z","shell.execute_reply.started":"2022-03-16T09:51:52.960349Z","shell.execute_reply":"2022-03-16T09:51:58.151474Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Map by Families (3 Most Common Families)","metadata":{}},{"cell_type":"markdown","source":"For animals:","metadata":{}},{"cell_type":"code","source":"animalia = train_geo[train_geo['GBIF_kingdom_name'] == 'Animalia']\nanimalia_vc = animalia['GBIF_family_name'].value_counts(dropna=False).head(3)\nanimalia_3 = animalia[animalia['GBIF_family_name'].isin(animalia_vc.index)]","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:58.155130Z","iopub.execute_input":"2022-03-16T09:51:58.155654Z","iopub.status.idle":"2022-03-16T09:51:58.852250Z","shell.execute_reply.started":"2022-03-16T09:51:58.155562Z","shell.execute_reply":"2022-03-16T09:51:58.851186Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"animalia_family_params = dict(column=\"GBIF_family_name\", tooltip=True, popup=True, cmap='jet', marker_kwds=dict(radius=3.5, fill=True), style_kwds=dict(stroke=False), legend_kwds=dict(caption='Animals Family names'))\nanimalia_3[animalia_3['location']=='France'].explore(**animalia_family_params)","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:51:58.853946Z","iopub.execute_input":"2022-03-16T09:51:58.854644Z","iopub.status.idle":"2022-03-16T09:52:00.908848Z","shell.execute_reply.started":"2022-03-16T09:51:58.854593Z","shell.execute_reply":"2022-03-16T09:52:00.908096Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"For plants:","metadata":{}},{"cell_type":"code","source":"Plantae = train_geo[train_geo['GBIF_kingdom_name'] == 'Plantae']\nPlantae_vc = Plantae['GBIF_family_name'].value_counts(dropna=False).head(3)\nPlantae_3 = Plantae[Plantae['GBIF_family_name'].isin(Plantae_vc.index)]","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:52:00.909825Z","iopub.execute_input":"2022-03-16T09:52:00.910238Z","iopub.status.idle":"2022-03-16T09:52:02.152986Z","shell.execute_reply.started":"2022-03-16T09:52:00.910204Z","shell.execute_reply":"2022-03-16T09:52:02.151588Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plantae_family_params = dict(column=\"GBIF_family_name\", tooltip=True, popup=True, marker_kwds=dict(radius=3.0, fill=True), style_kwds=dict(stroke=False), legend_kwds=dict(caption='Plants Family names'))\nPlantae_3[Plantae_3['location']=='France'].sample(10000).explore(**plantae_family_params)\n#sampled 10,000 for faster visualization","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:52:02.154757Z","iopub.execute_input":"2022-03-16T09:52:02.155094Z","iopub.status.idle":"2022-03-16T09:52:07.177771Z","shell.execute_reply.started":"2022-03-16T09:52:02.155056Z","shell.execute_reply":"2022-03-16T09:52:07.176411Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Map by Species (display 30 most common species)","metadata":{}},{"cell_type":"code","source":"most_30_spieces = train_geo_fr['species_id'].value_counts()[:30].index\nspecies_params = dict(column=\"species_id\", tooltip=True, popup=True, marker_kwds=dict(radius=3.5, fill=True), style_kwds=dict(stroke=False))\ntrain_geo_fr[train_geo_fr['species_id'].isin(most_30_spieces)].sample(10000).explore(**species_params)\n#sampled 10,000 for faster visualization","metadata":{"execution":{"iopub.status.busy":"2022-03-16T09:52:48.465267Z","iopub.execute_input":"2022-03-16T09:52:48.466274Z","iopub.status.idle":"2022-03-16T09:52:53.142726Z","shell.execute_reply.started":"2022-03-16T09:52:48.466225Z","shell.execute_reply":"2022-03-16T09:52:53.141128Z"},"trusted":true},"execution_count":null,"outputs":[]}]}