Propiedades loc, iloc, at e iat — 5:51 min
5:51 min | Última modificación: Octubre 6, 2021
Pandas es una librería de alto desempeño para el manejo y análisis de datos en Python ampliamente utilizada en Analítica y Ciencia de Datos, por lo que su dominio resulta fundamental. Pandas se especializa en estructuras “tidy”, es decir, tablas de datos donde cada fila es un registro y cada columna es un atributo.
Este tutorial esta basado en https://es.hortonworks.com/tutorial/beginners-guide-to-apache-pig/
Preparación
[1]:
import pandas as pd
pd.set_option("display.notebook_repr_html", False)
Carga de los datos de los conductores
[2]:
#
# Carga del archivo ddesde un repo en GitHub
#
drivers = pd.read_csv(
"https://raw.githubusercontent.com/jdvelasq/playground/master/datasets/drivers/drivers.csv",
sep=",",
thousands=None,
decimal=".",
)
drivers.set_index("name", inplace=True)
drivers.head()
[2]:
driverId ssn location certified \
name
George Vetticaden 10 621011971 244-4532 Nulla Rd. N
Jamie Engesser 11 262112338 366-4125 Ac Street N
Paul Coddin 12 198041975 Ap #622-957 Risus. Street Y
Joe Niemiec 13 139907145 2071 Hendrerit. Ave Y
Adis Cesir 14 820812209 Ap #810-1228 In St. Y
wage-plan
name
George Vetticaden miles
Jamie Engesser miles
Paul Coddin hours
Joe Niemiec hours
Adis Cesir hours
Selección de un grupo de filas
[3]:
#
# iloc recibe únicamente enteros, por lo que
# permite seleccionar elementos por posición.
#
drivers.iloc[2:5]
[3]:
driverId ssn location certified \
name
Paul Coddin 12 198041975 Ap #622-957 Risus. Street Y
Joe Niemiec 13 139907145 2071 Hendrerit. Ave Y
Adis Cesir 14 820812209 Ap #810-1228 In St. Y
wage-plan
name
Paul Coddin hours
Joe Niemiec hours
Adis Cesir hours
[4]:
drivers.loc[
[
"Joe Niemiec",
"Rohit Bakshi",
"Adis Cesir",
]
]
[4]:
driverId ssn location certified wage-plan
name
Joe Niemiec 13 139907145 2071 Hendrerit. Ave Y hours
Rohit Bakshi 15 239005227 648-5681 Dui- Rd. Y hours
Adis Cesir 14 820812209 Ap #810-1228 In St. Y hours
Selección de un grupo de filas y columnas
[5]:
drivers.iloc[2:5, [1, 3]]
[5]:
ssn certified
name
Paul Coddin 198041975 Y
Joe Niemiec 139907145 Y
Adis Cesir 820812209 Y
[6]:
rows = [
"Joe Niemiec",
"Rohit Bakshi",
"Adis Cesir",
]
columns = [
"location",
"certified",
"wage-plan",
]
drivers.loc[rows, columns]
[6]:
location certified wage-plan
name
Joe Niemiec 2071 Hendrerit. Ave Y hours
Rohit Bakshi 648-5681 Dui- Rd. Y hours
Adis Cesir Ap #810-1228 In St. Y hours
Selección de un registro en particular
[7]:
drivers.iloc[1]
[7]:
driverId 11
ssn 262112338
location 366-4125 Ac Street
certified N
wage-plan miles
Name: Jamie Engesser, dtype: object
[8]:
drivers.loc["Jamie Engesser"]
[8]:
driverId 11
ssn 262112338
location 366-4125 Ac Street
certified N
wage-plan miles
Name: Jamie Engesser, dtype: object
Selección de una celda en particular por posición
[9]:
drivers.iat[1, 2]
[9]:
'366-4125 Ac Street'
Selección de una celda en particular usando etiquetas
[11]:
drivers.at["Joe Niemiec", "location"]
[11]:
'2071 Hendrerit. Ave'