Temperaturas en aumento
Escribe una solución para encontrar todos los Id de las fechas con temperaturas más altas en comparación con sus fechas anteriores (ayer). Regresa la tabla resultado en cualquier orden.
Tabla: Weather
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| recordDate | date |
| temperature | int |
+---------------+---------+
- `id` es una columna con valores únicos para esta tabla.
- Esta tabla contiene información acerca de la temperatura en un dÃa especÃfico.
Entrada
Tabla Weather:
+----+------------+-------------+
| id | recordDate | temperature |
+----+------------+-------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+----+------------+-------------+
Salida
+----+
| id |
+----+
| 2 |
| 4 |
+----+
Explicación:
El 2015-01-02, la temperatura fue más elevada que el dÃa anterior (10 -> 25).
El 2015-01-04, la temperatura fue más elevada que el dÃa anterior (20 -> 30).
Solución:
import pandas as pd
def rising_temperature(weather: pd.DataFrame) -> pd.DataFrame:
weather = weather.sort_values(by='recordDate')
weather['consecutiveDay'] = weather['recordDate'].eq(
weather['recordDate'].shift() + pd.Timedelta('1D')
)
rising = weather.loc[
weather['consecutiveDay'] &
weather['temperature'].gt(weather['temperature'].shift())
]
return pd.DataFrame(rising['id'])