{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":70203,"databundleVersionId":8068726,"sourceType":"competition"}],"dockerImageVersionId":30684,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-04-17T13:30:42.343212Z","iopub.execute_input":"2024-04-17T13:30:42.343657Z","iopub.status.idle":"2024-04-17T13:30:45.128592Z","shell.execute_reply.started":"2024-04-17T13:30:42.343620Z","shell.execute_reply":"2024-04-17T13:30:45.127175Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"metadata = pd.read_csv('/kaggle/input/birdclef-2024/train_metadata.csv')\nmetadata.head()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:45.132370Z","iopub.execute_input":"2024-04-17T13:30:45.133263Z","iopub.status.idle":"2024-04-17T13:30:45.419906Z","shell.execute_reply.started":"2024-04-17T13:30:45.133194Z","shell.execute_reply":"2024-04-17T13:30:45.418949Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"metadata.info()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:45.421221Z","iopub.execute_input":"2024-04-17T13:30:45.421907Z","iopub.status.idle":"2024-04-17T13:30:45.471365Z","shell.execute_reply.started":"2024-04-17T13:30:45.421871Z","shell.execute_reply":"2024-04-17T13:30:45.470418Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(max(metadata['latitude']))\nprint(min(metadata['latitude']))\n\n\nprint(max(metadata['longitude']))\nprint(min(metadata['longitude']))","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:44:28.101548Z","iopub.execute_input":"2024-04-17T13:44:28.102063Z","iopub.status.idle":"2024-04-17T13:44:28.127059Z","shell.execute_reply.started":"2024-04-17T13:44:28.102028Z","shell.execute_reply":"2024-04-17T13:44:28.125531Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Label","metadata":{}},{"cell_type":"code","source":"metadata['primary_label'].value_counts()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:45.473968Z","iopub.execute_input":"2024-04-17T13:30:45.474664Z","iopub.status.idle":"2024-04-17T13:30:45.489912Z","shell.execute_reply.started":"2024-04-17T13:30:45.474627Z","shell.execute_reply":"2024-04-17T13:30:45.488571Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"metadata['secondary_labels'].value_counts()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:45.491445Z","iopub.execute_input":"2024-04-17T13:30:45.491908Z","iopub.status.idle":"2024-04-17T13:30:45.506532Z","shell.execute_reply.started":"2024-04-17T13:30:45.491871Z","shell.execute_reply":"2024-04-17T13:30:45.505533Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(20, 6))\nlabel_counts = metadata['primary_label'].value_counts()\n\nsns.barplot(x=label_counts.index, y=label_counts.values)\nplt.xticks(rotation=90)\n\nplt.title('Distribution of Bird Species')\nplt.xlabel('Bird Species')\nplt.ylabel('Count')\n\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:45.508296Z","iopub.execute_input":"2024-04-17T13:30:45.508712Z","iopub.status.idle":"2024-04-17T13:30:47.801428Z","shell.execute_reply.started":"2024-04-17T13:30:45.508665Z","shell.execute_reply":"2024-04-17T13:30:47.800146Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"label_counts","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:47.803086Z","iopub.execute_input":"2024-04-17T13:30:47.803823Z","iopub.status.idle":"2024-04-17T13:30:47.813878Z","shell.execute_reply.started":"2024-04-17T13:30:47.803784Z","shell.execute_reply":"2024-04-17T13:30:47.812194Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"filtered_label_counts = label_counts[(label_counts != 500) & (label_counts >= 100)]\nfiltered_label_counts","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:47.815988Z","iopub.execute_input":"2024-04-17T13:30:47.816410Z","iopub.status.idle":"2024-04-17T13:30:47.831002Z","shell.execute_reply.started":"2024-04-17T13:30:47.816374Z","shell.execute_reply":"2024-04-17T13:30:47.829494Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(20, 6))\nsns.barplot(x=filtered_label_counts.index, y=filtered_label_counts.values)\nplt.xticks(rotation=90)\nplt.title('Distribution of Bird Species (Counts != 500)')\nplt.xlabel('Bird Species')\nplt.ylabel('Count')\n\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:47.832613Z","iopub.execute_input":"2024-04-17T13:30:47.833561Z","iopub.status.idle":"2024-04-17T13:30:48.667926Z","shell.execute_reply.started":"2024-04-17T13:30:47.833521Z","shell.execute_reply":"2024-04-17T13:30:48.666533Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(20, 6))\nax = sns.barplot(x=filtered_label_counts.index, y=filtered_label_counts.values)\n\nfor p in ax.patches:\n    ax.annotate(format(p.get_height(), '.0f'), \n                (p.get_x() + p.get_width() / 2., p.get_height()), \n                ha = 'center', va = 'center', \n                xytext = (0, 5), \n                textcoords = 'offset points')\n\nplt.xticks(rotation=90)\nplt.title('Distribution of Bird Species (Counts != 500)')\nplt.xlabel('Bird Species')\nplt.ylabel('Count')\n\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:48.672070Z","iopub.execute_input":"2024-04-17T13:30:48.672463Z","iopub.status.idle":"2024-04-17T13:30:49.902410Z","shell.execute_reply.started":"2024-04-17T13:30:48.672429Z","shell.execute_reply":"2024-04-17T13:30:49.900880Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"filtered_label_counts_less_50 = label_counts[label_counts < 50]\nfiltered_label_counts_less_50","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:49.904318Z","iopub.execute_input":"2024-04-17T13:30:49.904818Z","iopub.status.idle":"2024-04-17T13:30:49.916730Z","shell.execute_reply.started":"2024-04-17T13:30:49.904778Z","shell.execute_reply":"2024-04-17T13:30:49.915240Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(20, 6))\nax = sns.barplot(x=filtered_label_counts_less_50.index, y=filtered_label_counts_less_50.values)\n\nfor p in ax.patches:\n    ax.annotate(format(p.get_height(), '.0f'), \n                (p.get_x() + p.get_width() / 2., p.get_height()), \n                ha = 'center', va = 'center', \n                xytext = (0, 5), \n                textcoords = 'offset points')\n\nplt.xticks(rotation=90)\nplt.title('Distribution of Bird Species (Counts != 500)')\nplt.xlabel('Bird Species')\nplt.ylabel('Count')\n\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:49.918771Z","iopub.execute_input":"2024-04-17T13:30:49.919334Z","iopub.status.idle":"2024-04-17T13:30:51.289280Z","shell.execute_reply.started":"2024-04-17T13:30:49.919287Z","shell.execute_reply":"2024-04-17T13:30:51.287847Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"metadata['scientific_name'].nunique()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:51.290679Z","iopub.execute_input":"2024-04-17T13:30:51.291130Z","iopub.status.idle":"2024-04-17T13:30:51.302667Z","shell.execute_reply.started":"2024-04-17T13:30:51.291093Z","shell.execute_reply":"2024-04-17T13:30:51.301302Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(10, 8))\nsns.scatterplot(x='longitude', y='latitude', data=metadata, hue='scientific_name', palette='viridis', alpha=0.5)\nplt.title('Geographical Distribution of Bird Species')\nplt.xlabel('Longitude')\nplt.ylabel('Latitude')\nplt.legend(title='Bird Species', bbox_to_anchor=(1.25, 1))\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:51.305124Z","iopub.execute_input":"2024-04-17T13:30:51.305647Z","iopub.status.idle":"2024-04-17T13:30:58.473975Z","shell.execute_reply.started":"2024-04-17T13:30:51.305596Z","shell.execute_reply":"2024-04-17T13:30:58.472516Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fig = px.scatter_mapbox(metadata, lat='latitude', lon='longitude', color='primary_label', \n                        hover_name='primary_label', hover_data=['latitude', 'longitude'], \n                        title='Geographical Distribution of Bird Species in Asia',\n                        zoom=1, height=600)\nfig.update_layout(mapbox_style=\"open-street-map\")\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:39:38.380666Z","iopub.execute_input":"2024-04-17T14:39:38.381189Z","iopub.status.idle":"2024-04-17T14:39:39.465329Z","shell.execute_reply.started":"2024-04-17T14:39:38.381151Z","shell.execute_reply":"2024-04-17T14:39:39.464076Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# ASia","metadata":{}},{"cell_type":"code","source":"asia_max_lat = 90\nasia_max_lon = 170\nasia_min_lat = 18\nasia_min_lon = 25","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:58.475787Z","iopub.execute_input":"2024-04-17T13:30:58.476256Z","iopub.status.idle":"2024-04-17T13:30:58.482868Z","shell.execute_reply.started":"2024-04-17T13:30:58.476216Z","shell.execute_reply":"2024-04-17T13:30:58.481498Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import plotly.express as px\nasia_birds_df = metadata[(metadata['latitude'] >= asia_min_lat) & (metadata['latitude'] <= asia_max_lat) &\n                            (metadata['longitude'] >= asia_min_lon) & (metadata['longitude'] <= asia_max_lon)]\n\nfig = px.scatter_mapbox(asia_birds_df, lat='latitude', lon='longitude', color='primary_label', \n                        hover_name='primary_label', hover_data=['latitude', 'longitude'], \n                        title='Geographical Distribution of Bird Species in Asia',\n                        zoom=1, height=600)\nfig.update_layout(mapbox_style=\"open-street-map\")\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:30:58.484397Z","iopub.execute_input":"2024-04-17T13:30:58.484819Z","iopub.status.idle":"2024-04-17T13:31:02.434087Z","shell.execute_reply.started":"2024-04-17T13:30:58.484781Z","shell.execute_reply":"2024-04-17T13:31:02.433157Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"asia_birds = asia_birds_df['primary_label'].value_counts()\nasia_birds","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:38:17.090099Z","iopub.execute_input":"2024-04-17T13:38:17.090579Z","iopub.status.idle":"2024-04-17T13:38:17.105494Z","shell.execute_reply.started":"2024-04-17T13:38:17.090546Z","shell.execute_reply":"2024-04-17T13:38:17.103775Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\nplt.figure(figsize=(20, 6))\nax = sns.barplot(x=asia_birds.index, y=asia_birds.values)\n\nfor p in ax.patches:\n    ax.annotate(format(p.get_height(), '.0f'), \n                (p.get_x() + p.get_width() / 2., p.get_height()), \n                ha = 'center', va = 'center', \n                xytext = (0, 5), \n                textcoords = 'offset points')\n\nplt.xticks(rotation=90)\nplt.title('Distribution of Bird Species in asia')\nplt.xlabel('Bird Species')\nplt.ylabel('Count')\n\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:38:25.378989Z","iopub.execute_input":"2024-04-17T13:38:25.379467Z","iopub.status.idle":"2024-04-17T13:38:28.065082Z","shell.execute_reply.started":"2024-04-17T13:38:25.379435Z","shell.execute_reply":"2024-04-17T13:38:28.063671Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"bird_taxonomy = pd.read_csv('/kaggle/input/birdclef-2024/eBird_Taxonomy_v2021.csv')\nbird_taxonomy","metadata":{"execution":{"iopub.status.busy":"2024-04-17T13:56:10.022057Z","iopub.execute_input":"2024-04-17T13:56:10.022532Z","iopub.status.idle":"2024-04-17T13:56:10.141934Z","shell.execute_reply.started":"2024-04-17T13:56:10.022491Z","shell.execute_reply":"2024-04-17T13:56:10.140212Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import librosa\nfrom librosa import display\nfrom IPython.display import Audio","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:02:08.767980Z","iopub.execute_input":"2024-04-17T14:02:08.768431Z","iopub.status.idle":"2024-04-17T14:02:08.775200Z","shell.execute_reply.started":"2024-04-17T14:02:08.768398Z","shell.execute_reply":"2024-04-17T14:02:08.773607Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"figure = plt.figure(figsize=(16, 5))\n\n\naudio_speech, rate = librosa.load('/kaggle/input/birdclef-2024/train_audio/asbfly/XC134896.ogg')\n\nlibrosa.display.waveshow(audio_speech, sr=rate)\n\n\nAudio(audio_speech, rate=rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:02:09.526086Z","iopub.execute_input":"2024-04-17T14:02:09.526512Z","iopub.status.idle":"2024-04-17T14:02:10.200957Z","shell.execute_reply.started":"2024-04-17T14:02:09.526480Z","shell.execute_reply":"2024-04-17T14:02:10.199544Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def audio_wave(file_path):\n    audio_speech, rate = librosa.load(file_path)\n    \n    duration = len(audio_speech) / rate\n\n    time = np.arange(0, duration, 1/rate)\n    plt.figure(figsize=(30, 10))\n    librosa.display.waveshow(audio_speech, sr=rate)\n    return audio_speech, rate\n","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:23:03.020295Z","iopub.execute_input":"2024-04-17T14:23:03.020800Z","iopub.status.idle":"2024-04-17T14:23:03.029781Z","shell.execute_reply.started":"2024-04-17T14:23:03.020755Z","shell.execute_reply":"2024-04-17T14:23:03.028282Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"audio_speech, rate =audio_wave('/kaggle/input/birdclef-2024/train_audio/asbfly/XC134896.ogg')","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:23:27.132955Z","iopub.execute_input":"2024-04-17T14:23:27.133447Z","iopub.status.idle":"2024-04-17T14:23:27.958116Z","shell.execute_reply.started":"2024-04-17T14:23:27.133407Z","shell.execute_reply":"2024-04-17T14:23:27.957080Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:29:07.553614Z","iopub.execute_input":"2024-04-17T14:29:07.556236Z","iopub.status.idle":"2024-04-17T14:29:07.565141Z","shell.execute_reply.started":"2024-04-17T14:29:07.556172Z","shell.execute_reply":"2024-04-17T14:29:07.562848Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Spectogram","metadata":{}},{"cell_type":"code","source":"def stft_plot(audio):\n    \n    stft = librosa.stft(audio)\n\n    magnitude = np.abs(stft)\n    phase = np.angle(stft)\n\n    plt.figure(figsize=(30, 10))\n    librosa.display.specshow(librosa.amplitude_to_db(magnitude, ref=np.max), y_axis='log', x_axis='time')\n    plt.colorbar(format='%+2.0f dB')\n    plt.title('STFT Magnitude Spectrogram')\n    plt.show()","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:24:35.720482Z","iopub.execute_input":"2024-04-17T14:24:35.722000Z","iopub.status.idle":"2024-04-17T14:24:35.730080Z","shell.execute_reply.started":"2024-04-17T14:24:35.721943Z","shell.execute_reply":"2024-04-17T14:24:35.728798Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"stft_plot(audio_speech)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:24:50.048735Z","iopub.execute_input":"2024-04-17T14:24:50.049162Z","iopub.status.idle":"2024-04-17T14:24:51.953776Z","shell.execute_reply.started":"2024-04-17T14:24:50.049131Z","shell.execute_reply":"2024-04-17T14:24:51.951248Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def stft_plot_v2(audio, sampling_rate):\n    \n    stft = librosa.stft(audio, n_fft=500, hop_length=50)\n\n    magnitude = np.abs(stft)\n    phase = np.angle(stft)\n\n    plt.figure(figsize=(30, 10))\n    librosa.display.waveshow(audio, sr=sampling_rate)\n    plt.show()\n    plt.figure(figsize=(30, 10))\n    librosa.display.specshow(librosa.amplitude_to_db(magnitude),sr=sampling_rate, hop_length=50, y_axis='log', x_axis='time')\n    plt.show()\n   ","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:33:23.148059Z","iopub.execute_input":"2024-04-17T14:33:23.148995Z","iopub.status.idle":"2024-04-17T14:33:23.158427Z","shell.execute_reply.started":"2024-04-17T14:33:23.148944Z","shell.execute_reply":"2024-04-17T14:33:23.157252Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"stft_plot_v2(audio_speech, rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:33:24.387193Z","iopub.execute_input":"2024-04-17T14:33:24.387837Z","iopub.status.idle":"2024-04-17T14:33:28.464706Z","shell.execute_reply.started":"2024-04-17T14:33:24.387804Z","shell.execute_reply":"2024-04-17T14:33:28.463257Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Chromagram","metadata":{}},{"cell_type":"code","source":"def chroma(audio, sampling_rate):\n    chromagram = librosa.feature.chroma_stft(y=audio, sr=sampling_rate)\n    librosa.display.specshow(chromagram, x_axis='time', y_axis='chroma', sr=sampling_rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:35:42.669960Z","iopub.execute_input":"2024-04-17T14:35:42.670459Z","iopub.status.idle":"2024-04-17T14:35:42.677793Z","shell.execute_reply.started":"2024-04-17T14:35:42.670415Z","shell.execute_reply":"2024-04-17T14:35:42.676021Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"chroma(audio_speech, rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:35:43.007901Z","iopub.execute_input":"2024-04-17T14:35:43.008389Z","iopub.status.idle":"2024-04-17T14:35:43.779536Z","shell.execute_reply.started":"2024-04-17T14:35:43.008351Z","shell.execute_reply":"2024-04-17T14:35:43.777488Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# MEL Spectogram","metadata":{}},{"cell_type":"code","source":"def mel_spec(audio, sampling_rate):\n    mel_spectrogram = librosa.feature.melspectrogram(y=audio, sr=sampling_rate)\n    librosa.display.specshow(mel_spectrogram, x_axis='time', y_axis='mel', sr=sampling_rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:37:27.422248Z","iopub.execute_input":"2024-04-17T14:37:27.423034Z","iopub.status.idle":"2024-04-17T14:37:27.429793Z","shell.execute_reply.started":"2024-04-17T14:37:27.422993Z","shell.execute_reply":"2024-04-17T14:37:27.428402Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"mel_spec(audio_speech, rate)","metadata":{"execution":{"iopub.status.busy":"2024-04-17T14:37:49.032044Z","iopub.execute_input":"2024-04-17T14:37:49.033202Z","iopub.status.idle":"2024-04-17T14:37:49.668110Z","shell.execute_reply.started":"2024-04-17T14:37:49.033143Z","shell.execute_reply":"2024-04-17T14:37:49.666703Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}