Encadenamiento de m茅todos
Escribe una soluci贸n para listar los animales cuyo peso es estrictamente mayor a 100 kilogramos. Regresa los nombres de los animales ordenados por peso en 贸rden descendente.
DataFrame animals
+-------------+--------+
| Column Name | Type |
+-------------+--------+
| name | object |
| species | object |
| age | int |
| weight | int |
+-------------+--------+
El formato del resultado se muestra en el siguiente ejemplo.
Ejemplo 1:
Entrada:
DataFrame animals:
+----------+---------+-----+--------+
| name | species | age | weight |
+----------+---------+-----+--------+
| Tatiana | Snake | 98 | 464 |
| Khaled | Giraffe | 50 | 41 |
| Alex | Leopard | 6 | 328 |
| Jonathan | Monkey | 45 | 463 |
| Stefan | Bear | 100 | 50 |
| Tommy | Panda | 26 | 349 |
+----------+---------+-----+--------+
Salida:
+----------+
| name |
+----------+
| Tatiana |
| Jonathan |
| Tommy |
| Alex |
+----------+
Explicaci贸n:
- Todos los animales que pesan mas de 100 kilogramos deben ser incluidos en la tabla de resultado.
- El peso de Tatiana es 464, el peso de Jonathan es 463, el peso de Tommy es 349, y el de Alex es 328.
- Los resultados deben ordenarse en orden de peso descendente.
En Pandas, encadenar m茅todos nos permite realizar operaciones en un DataFrame sin separar cada operaci贸n en varias l铆neas o crear variables temporales.
驴Puedes completar esta tarea con solo una l铆nea de c贸digo usando el encadenamiento de m茅todos?
Soluci贸n
import pandas as pd
def findHeavyAnimals(animals: pd.DataFrame) -> pd.DataFrame:
heavy_animals = animals.loc[
animals['weight'].gt(100),
['name', 'weight']
]
heavy_animals.sort_values(by='weight',
ascending=False,
inplace=True)
return heavy_animals[['name']]