API a conectar: https://api.covid19api.com/
!pip install pandas
import pandas as pd
Se consulta la url a traves del codigo: pd.read_json(url)
url = 'https://api.covid19api.com/countries'
df = pd.read_json(url)
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Country</th>
<th>Slug</th>
<th>ISO2</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>Brazil</td>
<td>brazil</td>
<td>BR</td>
</tr>
<tr>
<td>1</td>
<td>Bulgaria</td>
<td>bulgaria</td>
<td>BG</td>
</tr>
<tr>
<td>2</td>
<td>China</td>
<td>china</td>
<td>CN</td>
</tr>
<tr>
<td>3</td>
<td>Netherlands</td>
<td>netherlands</td>
<td>NL</td>
</tr>
<tr>
<td>4</td>
<td>Afghanistan</td>
<td>afghanistan</td>
<td>AF</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>243</td>
<td>Haiti</td>
<td>haiti</td>
<td>HT</td>
</tr>
<tr>
<td>244</td>
<td>Madagascar</td>
<td>madagascar</td>
<td>MG</td>
</tr>
<tr>
<td>245</td>
<td>Montserrat</td>
<td>montserrat</td>
<td>MS</td>
</tr>
<tr>
<td>246</td>
<td>Papua New Guinea</td>
<td>papua-new-guinea</td>
<td>PG</td>
</tr>
<tr>
<td>247</td>
<td>US Minor Outlying Islands</td>
<td>us-minor-outlying-islands</td>
<td>UM</td>
</tr>
</tbody>
</table>
<p>248 rows × 3 columns</p>
</div>
Se filtra por pais, este caso es Spain
df[df['Country'] == 'Spain']
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Country</th>
<th>Slug</th>
<th>ISO2</th>
</tr>
</thead>
<tbody>
<tr>
<td>201</td>
<td>Spain</td>
<td>spain</td>
<td>ES</td>
</tr>
</tbody>
</table>
</div>
Se muestra los datos usando el codigo: df_rt_es
url_rt_es = 'https://api.covid19api.com/country/spain/status/confirmed/live'
df_rt_es = pd.read_json(url_rt_es)
df_rt_es
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Country</th>
<th>CountryCode</th>
<th>Province</th>
<th>City</th>
<th>CityCode</th>
<th>Lat</th>
<th>Lon</th>
<th>Cases</th>
<th>Status</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-22 00:00:00+00:00</td>
</tr>
<tr>
<td>1</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-23 00:00:00+00:00</td>
</tr>
<tr>
<td>2</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-24 00:00:00+00:00</td>
</tr>
<tr>
<td>3</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-25 00:00:00+00:00</td>
</tr>
<tr>
<td>4</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-26 00:00:00+00:00</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>885</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12681820</td>
<td>confirmed</td>
<td>2022-06-25 00:00:00+00:00</td>
</tr>
<tr>
<td>886</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12681820</td>
<td>confirmed</td>
<td>2022-06-26 00:00:00+00:00</td>
</tr>
<tr>
<td>887</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12681820</td>
<td>confirmed</td>
<td>2022-06-27 00:00:00+00:00</td>
</tr>
<tr>
<td>888</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12734038</td>
<td>confirmed</td>
<td>2022-06-28 00:00:00+00:00</td>
</tr>
<tr>
<td>889</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12734038</td>
<td>confirmed</td>
<td>2022-06-29 00:00:00+00:00</td>
</tr>
</tbody>
</table>
<p>890 rows × 10 columns</p>
</div>
df_rt_es.tail()
, se usa para ver los ultimos datos de la tabla.
df_rt_es.tail()
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Country</th>
<th>CountryCode</th>
<th>Province</th>
<th>City</th>
<th>CityCode</th>
<th>Lat</th>
<th>Lon</th>
<th>Cases</th>
<th>Status</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>885</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12681820</td>
<td>confirmed</td>
<td>2022-06-25 00:00:00+00:00</td>
</tr>
<tr>
<td>886</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12681820</td>
<td>confirmed</td>
<td>2022-06-26 00:00:00+00:00</td>
</tr>
<tr>
<td>887</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12681820</td>
<td>confirmed</td>
<td>2022-06-27 00:00:00+00:00</td>
</tr>
<tr>
<td>888</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12734038</td>
<td>confirmed</td>
<td>2022-06-28 00:00:00+00:00</td>
</tr>
<tr>
<td>889</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>12734038</td>
<td>confirmed</td>
<td>2022-06-29 00:00:00+00:00</td>
</tr>
</tbody>
</table>
</div>
df_rt_es.head()
, se usa para ver los datos inicial de la tabla.
df_rt_es.head()
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Country</th>
<th>CountryCode</th>
<th>Province</th>
<th>City</th>
<th>CityCode</th>
<th>Lat</th>
<th>Lon</th>
<th>Cases</th>
<th>Status</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-22 00:00:00+00:00</td>
</tr>
<tr>
<td>1</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-23 00:00:00+00:00</td>
</tr>
<tr>
<td>2</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-24 00:00:00+00:00</td>
</tr>
<tr>
<td>3</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-25 00:00:00+00:00</td>
</tr>
<tr>
<td>4</td>
<td>Spain</td>
<td>ES</td>
<td></td>
<td></td>
<td></td>
<td>40.46</td>
<td>-3.75</td>
<td>0</td>
<td>confirmed</td>
<td>2020-01-26 00:00:00+00:00</td>
</tr>
</tbody>
</table>
</div>
Se utiliza para mostrar grafica
plot_rt_es = df_rt_es.set_index('Date')['Cases'].plot(title="Casos de Covid-19 en España desde 20/01/2020 hasta 29/06/2022")
Se realiza el mismo codigo realizado para Spain pero ahora en funcion de Panama
plot_rt_pa = df_rt_pa.set_index('Date')['Cases'].plot(title="Casos de Covid-19 en Panamá desde 20/01/2020 hasta 29/06/2022")