Este post fue hecho público como parte del Blogatón de ciencia de datos.
Introducción
Python es fácil de aprender, dispone de una gran comunidad en línea de estudiantes e instructores, y tiene algunas bibliotecas centradas en datos verdaderamente poderosas. Pandas es una de las bibliotecas más importantes de Python para análisis de datos y ciencia de datos.
En este post, veremos las 13 funciones y métodos de Pandas más importantes que son esenciales para que todos los analistas y científicos de datos los conozcan.
1. read_csv ()
La función read_csv () ayuda a leer un archivo de valores separados por comas (csv) en un Pandas DataFrame. Todo lo que necesita hacer es mencionar la ruta del archivo que desea que lea. Además puede leer archivos separados por delimitadores que no sean comas, como | o pestaña. Más detalles aquí.
data_1 = pd.read_csv(r'C:UsersABCDesktopblog_dataset.csv')
Los datos se han leído desde la fuente de datosUna "fuente de datos" se refiere a cualquier lugar o medio donde se puede obtener información. Estas fuentes pueden ser tanto primarias, como encuestas y experimentos, como secundarias, como bases de datos, artículos académicos o informes estadísticos. La elección adecuada de una fuente de datos es crucial para garantizar la validez y la fiabilidad de la información en investigaciones y análisis.... en Pandas DataFrame. Deberá cambiar la ruta del archivo que desea leer. Usted puede descargar el conjunto de datos utilizado en el blog.
La función to_csv () funciona exactamente de manera opuesta a read_csv (). Ayuda a escribir datos contenidos en Pandas DataFrame o Series en un archivo csv. Puede leer más sobre to_csv () aquí. read_csv () y to_csv () son una de las funciones más utilizadas en Pandas debido a que se usan al leer datos de una fuente de datos, y es muy importante conocerlas.
2. cabeza ()
head (n) se utiliza para devolver las primeras n filas de un conjunto de datos. De forma predeterminada, df.head () devolverá las primeras 5 filas del DataFrame. Si desea más / menos número de filas, puede especificar n como un número entero.
data_1.head(6)
Producción:
Nombre | La edad | Ciudad | Estado | DOB | Género | Temperatura de la ciudad | Salario | |
---|---|---|---|---|---|---|---|---|
0 | Alam | 29 | Indore | Madhya Pradesh | 20-11-1991 | Masculino | 35,5 | 50000 |
1 | Rohit | 23 | Nueva Delhi | Delhi | 19-09-1997 | Masculino | 39,0 | 85000 |
2 | Bimla | 35 | Rohtak | Haryana | 09-01-1985 | Mujer | 39,7 | 20000 |
3 | Rahul | 25 | Calcuta | al oeste de Bengala | 19-09-1995 | Masculino | 36,5 | 40000 |
4 | Chaman | 32 | Chennai | Tamil Nadu | 12-03-1988 | Masculino | 41,1 | 65000 |
5 | Vivek | 38 | Gurugram | Haryana | 22-06-1982 | Masculino | 38,9 | 35000 |
Las primeras 6 filas (indexadas de 0 a 5) se devuelven como salida según las expectativas.
tail () es equivalente a head () y devuelve las n filas inferiores de un conjunto de datos. head () y tail () lo ayudan a echar un vistazo rápido a su conjunto de datos y verificar si los datos se han leído correctamente en el DataFrame.
3. describir ()
describe () se utiliza para generar estadísticas descriptivas de los datos en un DataFrame o Serie de Pandas. Resume la tendencia central y la dispersión del conjunto de datos. describe () ayuda a obtener una descripción general rápida del conjunto de datos. Se pueden hallar más detalles sobre describe () aquí.
data_1.describe()
Producción:
La edad | Temperatura de la ciudad | Salario | |
---|---|---|---|
contar | 9.000000 | 8.000000 | 9.000000 |
significar | 32.000000 | 38.575000 | 44444.444444 |
std | 5.894913 | 1.771803 | 21360.659582 |
min | 23.000000 | 35.500000 | 18000.000000 |
25% | 29.000000 | 38.300000 | 35000.000000 |
50% | 32.000000 | 38.950000 | 40000.000000 |
75% | 38.000000 | 39.175000 | 52000.000000 |
max | 39.000000 | 41.100000 | 85000.000000 |
describe () enumera diferentes medidas estadísticas descriptivas para todas las columnas numéricas en nuestro conjunto de datos. Al adjudicar al atributo de inclusión el valor ‘todos’, podemos obtener la descripción para incluir todas las columnas, incluidas las que contienen información categórica.
4. uso_memoria ()
memory_usage () devuelve una serie Pandas que tiene el uso de memoria de cada columna (en bytes) en un Pandas DataFrame. Al especificar el atributo profundo como Verdadero, podemos conocer el espacio real que ocupa cada columna. Se pueden hallar más detalles sobre memory_usage () aquí.
data_1.memory_usage(deep=True)
Producción:
Index 80 Name 559 Age 72 City 578 State 584 DOB 603 Gender 553 City temp 72 Salary 72 dtype: int64
El uso de memoria de cada columna se ha dado como salida en una serie Pandas. Es esencial conocer el uso de memoria de un DataFrame, de modo que pueda abordar errores como MemoryError en Python.
5. astype ()
astype () se utiliza para convertir un objeto Python a un tipo de datos en particular. Puede ser una función muy útil en caso de que sus datos no estén almacenados en el formato correcto (tipo de datos). A modo de ejemplo, si Python ha malinterpretado de alguna manera los números de punto flotante como cadenas, puede convertirlos de nuevo a números de punto flotante con astype (). O si desea convertir un tipo de datos de objeto en una categoría, puede utilizar astype ().
data_1['Gender'] = data_1.Gender.astype('category')
Puede verificar el cambio en el tipo de datos mirando los tipos de datos de todas las columnas en el conjunto de datos usando el atributo dtypes. Para ver la documentación de astype (), haga clic en aquí.
6. loc[:]
loc[:] ayuda a entrar a un grupo de filas y columnas en un conjunto de datos, una porción del conjunto de datos, según nuestro requisito. A modo de ejemplo, si solo queremos las últimas 2 filas y las primeras 3 columnas de un conjunto de datos, podemos entrar a ellas con la ayuda de loc[:]. Además podemos entrar a filas y columnas sustentadas en etiquetas en lugar de filas y números de columna.
data_1.loc[0:4, ['Name', 'Age', 'State']]
Producción:
Nombre | La edad | Estado | |
---|---|---|---|
0 | Alam | 29 | Madhya Pradesh |
1 | Rohit | 23 | Delhi |
2 | Bimla | 35 | Haryana |
3 | Rahul | 25 | al oeste de Bengala |
4 | Chaman | 32 | Tamil Nadu |
El código anterior devolverá las columnas «Nombre», «Edad» y «Estado» para los primeros 5 registros de clientes. Tenga en cuenta que el índiceEl "Índice" es una herramienta fundamental en libros y documentos, que permite ubicar rápidamente la información deseada. Generalmente, se presenta al inicio de una obra y organiza los contenidos de manera jerárquica, incluyendo capítulos y secciones. Su correcta elaboración facilita la navegación y mejora la comprensión del material, convirtiéndolo en un recurso esencial tanto para estudiantes como para profesionales en diversas áreas.... comienza desde 0 en Python, y que loc[:] es inclusivo en ambos valores mencionados. Entonces 0: 4 significará índices de 0 a 4, ambos incluidos.
loc[:] es una de las funciones más poderosas de Pandas, y es imprescindible para todos los analistas de datos y científicos de datos. Puede hallar la documentación para loc[:] aquí.
iloc[:] funciona de manera equivalente, solo que iloc[:] es no inclusivo en ambos valores. Tan iloc[0:4] devolvería filas con índice 0, 1, 2 y 3, mientras que loc[0:4] devolvería filas con índice 0, 1, 2, 3 y 4. La documentación para iloc[:] puede ser encontrado aquí.
7. to_datetime ()
to_datetime () convierte un objeto Python al formato de fecha y hora. Puede tomar un entero, un número de punto flotante, una lista, Pandas Series o Pandas DataFrame como argumento. to_datetime () es muy poderoso cuando el conjunto de datos tiene valores de series de tiempo o fechas.
data_1['DOB'] = pd.to_datetime(data_1['DOB'])
La columna DOB ahora se ha cambiado al formato de hora de datos de Pandas. Todas las funciones de fechaLas funciones de fecha son herramientas esenciales en programación y análisis de datos. Permiten manipular, calcular y formatear fechas de manera eficiente. Entre sus aplicaciones más comunes se encuentran el cálculo de la diferencia entre fechas, la extracción de componentes como el año o el mes, y la conversión entre distintos formatos. Estas funciones son fundamentales en áreas como la gestión de proyectos, reportes financieros y análisis estadístico.... y hora ahora se pueden aplicar en esta columna. Puede leer más sobre to_datetime () aquí.
8. value_counts ()
value_counts () devuelve una serie Pandas que contiene los recuentos de valores únicos. Considere un conjunto de datos que contiene información de clientes sobre 5,000 clientes de una compañía. value_counts () nos ayudará a identificar el número de ocurrencias de cada valor único en una Serie. Se puede aplicar a columnas que contienen datos como Estado, Industria de empleo o edad de los clientes.
data_1['State'].value_counts()
Producción:
Haryana 3 Delhi 2 West Bengal 1 Tamil Nadu 1 Bihar 1 Madhya Pradesh 1 Name: State, dtype: int64
El número de ocurrencias de cada estado en nuestro conjunto de datos se ha devuelto en la salida, como se esperaba. value_counts () además se puede usar para trazar gráficos de barras de datos categóricos y ordinales.
data_1['State'].value_counts(normalize=True).plot(kind='bar', title="State")
La documentación para value_counts () se puede hallar aquí.
9. drop_duplicates ()
drop_duplicates () devuelve un Pandas DataFrame con filas duplicadas eliminadas. Inclusive entre los duplicados, existe la opción de mantener la primera aparición (registro) del duplicado o la última. Además puede especificar el atributo inplace e ignore_index.
data_1.drop_duplicates(inplace=True)
inplace = True asegura que los cambios se apliquen al conjunto de datos original. Puede verificar los cambios observando la forma del conjunto de datos original y el conjunto de datos modificado (después de borrar los duplicados). Notará que el número de filas se ha reducido de 9 a 8 (debido a que se eliminó 1 duplicado).
10. groupby ()
groupby () se utiliza para agrupar un Pandas DataFrame por 1 o más columnas y realizar alguna operación matemática en él. groupby () se puede usar para resumir datos de una manera sencilla.
data_1.groupby(by='State').Salary.mean()
Producción:
State Bihar 18000 Delhi 68500 Haryana 27500 Madhya Pradesh 50000 Tamil Nadu 65000 West Bengal 40000 Name: Salary, dtype: int64
El código anterior agrupará el conjunto de datos por la columna «Estado» y devolverá la edad media en todos los estados. Puede hacer un clic aquí para saber más sobre groupby ().
11. fusionar ()
merge () se utiliza para fusionar 2 objetos Pandas DataFrame o un DataFrame y un objeto Series en una columna (campo) común. Si está familiarizado con el concepto de JOIN"JOIN" es una operación fundamental en bases de datos que permite combinar registros de dos o más tablas basándose en una relación lógica entre ellas. Existen diferentes tipos de JOIN, como INNER JOIN, LEFT JOIN y RIGHT JOIN, cada uno con sus propias características y usos. Esta técnica es esencial para realizar consultas complejas y obtener información más relevante y detallada a partir de múltiples fuentes de datos.... en SQL, combine una función equivalente a esa. Devuelve el DataFrame combinado.
data_1.merge(data_2, on='Name', how='left')
Para obtener más información sobre atributos como on (incluidos left_on y right_on), cómo y los sufijos, consulte la documentación.
12. sort_values ()
sort_values () se utiliza para ordenar la columna en un marco de datos Pandas (o una serie Pandas) por valores en orden ascendente o descendente. Al especificar el atributo inplace como True, puede realizar un cambio de forma directa en el DataFrame original.
data_1.sort_values(by='Name', inplace=True)
Producción:
Nombre | La edad | Ciudad | Estado | DOB | Género | Temperatura de la ciudad | Salario | |
---|---|---|---|---|---|---|---|---|
0 | Alam | 29 | Indore | Madhya Pradesh | 1991-11-20 | Masculino | 35,5 | 50000 |
2 | Bimla | 35 | Rohtak | Haryana | 1985-09-01 | Mujer | 39,7 | 20000 |
4 | Chaman | 32 | Chennai | Tamil Nadu | 1988-12-03 | Masculino | 41,1 | 65000 |
6 | Charu | 29 | Nueva Delhi | Delhi | 1992-03-18 | Mujer | 39,0 | 52000 |
7 | Ganesh | 39 | Patna | Bihar | 1981-07-12 | Masculino | Yaya | 18000 |
3 | Rahul | 25 | Calcuta | al oeste de Bengala | 1995-09-19 | Masculino | 36,5 | 40000 |
1 | Rohit | 23 | Nueva Delhi | Delhi | 1997-09-19 | Masculino | 39,0 | 85000 |
5 | Vivek | 38 | Gurugram | Haryana | 1982-06-22 | Masculino | 38,9 | 35000 |
Puede ver que el orden de los registros ha cambiado ahora. Los registros ahora se enumeran en orden alfabético de nombres. sort_values () tiene muchos otros atributos que se pueden especificar. Puedes leer sobre esto aquí.
Semejante a sort_values () es sort_index (). Se utiliza para ordenar el DataFrame por índice en lugar de un valor de columna.
13. fillna ()
Por lo general, en un conjunto de datos grande, encontrará varias entradas etiquetadas como NaN por Python. NaN significa «no es un número» y representa entradas que no se completaron en la fuente de datos original. Al completar los valores en el DataFrame, Pandas se asegura de que el usuario pueda identificar estas entradas de forma separada.
fillna () ayuda a reemplazar todos los valores de NaN en un DataFrame o Series imputando estos valores faltantes con valores más apropiados.
data_1['City temp'].fillna(38.5, inplace=True)
El código anterior reemplazará todas las entradas en blanco de «temperatura de la ciudad» con 38.5. Los valores faltantes se pueden imputar con la media, la medianaLa mediana es una medida estadística que representa el valor central de un conjunto de datos ordenados. Para calcularla, se organizan los datos de menor a mayor y se identifica el número que se encuentra en el medio. Si hay un número par de observaciones, se promedia los dos valores centrales. Este indicador es especialmente útil en distribuciones asimétricas, ya que no se ve afectado por valores extremos...., la moda o algún otro valor. Hemos escogido el medio para nuestro caso.
EndNotes
En este post, echamos un vistazo a las 13 funciones y métodos más importantes de Pandas que son importantes para el análisis de datos y la ciencia de datos. Este post fue escrito por Vishesh Arora (LinkedIn).
Los medios que se muestran en este post no son propiedad de DataPeaker y se usan a discreción del autor.
Relacionado
Posts Relacionados:
- Funciones laborales importantes en la industria de la ciencia de datos en la actualidad
- Pandas loc vs iloc | loc vs iloc en pandas para seleccionar datos
- Funciones de PySpark | 9 funciones más útiles para PySpark DataFrame
- 13 requisitos importantes de una computadora portátil para tareas de ciencia de datos