Pandas trama de datos en Python

Python | Pandas trama de datos : En este tutorial, vamos a aprender acerca de la trama de datos pandas con la sintaxis, ejemplos de creación de trama de datos, indexación, acceso, etc.

Python | Pandas trama de datos

A trama de datos es una estructura de dos dimensiones tamaño-mutable, potencialmente heterogénea de datos tabular con los ejes rotulados (filas y columnas). Las operaciones aritméticas se alinean en ambas etiquetas de fila y de columna. Puede ser pensado como un objetos dict-como contenedor class Serie .

Sintaxis:

    class pandas.DataFrame(
data=None,
index=None,
columns=None,
dtype=None,
copy=False
)

creación Ejemplo de trama de datos

import numpy as np
import pandas as pd
from numpy.random import randn
np.random.seed(101)
df = pd.DataFrame(randn(5,4), ['A','B','C','D','E'],['W','X','Y','Z'])
print(df)

salida

          W         X         Y         Z
A 2.706850 0.628133 0.907969 0.503826
B 0.651118 -0.319318 -0.848077 0.605965
C -2.018168 0.740122 0.528813 -0.589001
D 0.188695 -0.758872 -0.933237 0.955057
E 0.190794 1.978757 2.605967 0.683509

En el ejemplo anterior, cada una de las columnas es una serie y las filas respectivas son el común índice etiquetas.

Con el fin de hacer la indexación y la selección, el enfoque seguido es,

print(df['W'])
'''
Output:
A 2.706850
B 0.651118
C -2.018168
D 0.188695
E 0.190794
Name: W, dtype: float64
'''
print(type(df['W']))
'''
Output:
<class 'pandas.core.series.Series'>
'''

Lo anterior explica que trama de datos es un montón de serie con el índice de etiquetas comunes. Otro enfoque para recuperar las series de la trama de datos está siguiendo el camino de SQL (modo menos preferido),

print(df.W)
'''
Output:
A 2.706850
B 0.651118
C -2.018168
D 0.188695
E 0.190794
Name: W, dtype: float64
'''

Para obtener múltiples columnas de las tramas de datos

print(df[['W','X']])
'''
Output:
          W X
A 2.706850 0.628133
B 0.651118 -0.319318
C -2.018168 0.740122
D 0.188695 -0.758872
E 0.190794 1.978757
'''
print(df[list('W''X')])
'''
Output:
          W X
A 2.706850 0.628133
B 0.651118 -0.319318
C -2.018168 0.740122
D 0.188695 -0.758872
E 0.190794 1.978757
'''

Para crear una nueva columna en una trama de datos

df['new'] = df['X']+df['Y']
print(df)
'''
Output:
          W X Y Z new
A 2.706850 0.628133 0.907969 0.503826 1.536102
B 0.651118 -0.319318 -0.848077 0.605965 -1.167395
C -2.018168 0.740122 0.528813 -0.589001 1.268936
D 0.188695 -0.758872 -0.933237 0.955057 -1.692109
E 0.190794 1.978757 2.605967 0.683509 4.584725
'''

para quitar la columna en una trama de datos

# doesn't remove from the object df
df.drop('W', axis=1)
print(df)
'''
Output:
          W X Y Z new
A 2.706850 0.628133 0.907969 0.503826 1.536102
B 0.651118 -0.319318 -0.848077 0.605965 -1.167395
C -2.018168 0.740122 0.528813 -0.589001 1.268936
D 0.188695 -0.758872 -0.933237 0.955057 -1.692109
E 0.190794 1.978757 2.605967 0.683509 4.584725
'''
df = df.drop('W', axis=1)
print(df)
'''
Output:
          X Y Z new
A 0.628133 0.907969 0.503826 1.536102
B -0.319318 -0.848077 0.605965 -1.167395
C 0.740122 0.528813 -0.589001 1.268936
D -0.758872 -0.933237 0.955057 -1.692109
E 1.978757 2.605967 0.683509 4.584725
'''
# use inplace = True to retain the changes
df.drop('X', axis=1, inplace = True)
print(df)
'''
Output:
          Y Z new
A 0.907969 0.503826 1.536102
B -0.848077 0.605965 -1.167395
C 0.528813 -0.589001 1.268936
D -0.933237 0.955057 -1.692109
E 2.605967 0.683509 4.584725
'''

para eliminar una fila de la trama de datos

df.drop('E', axis=0, inplace = True)
print(df)
'''
Output:
          Y Z new
A 0.907969 0.503826 1.536102
B -0.848077 0.605965 -1.167395
C 0.528813 -0.589001 1.268936
D -0.933237 0.955057 -1.692109
'''

a fin de explicar el razonamiento detrás el valor 0 y 1 al eje, tenemos a saber la forma de la trama de datos

print(df)
'''
Output:
          Y Z new
A 0.907969 0.503826 1.536102
B -0.848077 0.605965 -1.167395
C 0.528813 -0.589001 1.268936
D -0.933237 0.955057 -1.692109
'''
print(df.shape)
'''
Output:
(4, 3)
'''

el tipo for de forma es una tupla, y en el ejemplo anterior el índice 0 ª de tupla (4) se refiere a número de filas y primera índice de tupla (3) se refiere para el número de columnas y por lo tanto el valor dado al eje como 0 o 1, mientras que la supresión de la fila / columna.

Selección de filas en una trama de datos

print(df)
'''
Output:
          Y Z new
A 0.907969 0.503826 1.536102
B -0.848077 0.605965 -1.167395
C 0.528813 -0.589001 1.268936
D -0.933237 0.955057 -1.692109
'''
# here the argument is the location based index
print(df.loc['B'])
'''
Output:
Y -0.848077
Z 0.605965
new -1.167395
Name: B, dtype: float64
'''
# here the argument is the numerical based index of the row
print(df.iloc[1] )
'''
Output:
Y -0.848077
Z 0.605965
new -1.167395
Name: B, dtype: float64
'''

Selección de subconjuntos de filas y columnas

print(df)
'''
Output:
          Y Z new
A 0.907969 0.503826 1.536102
B -0.848077 0.605965 -1.167395
C 0.528813 -0.589001 1.268936
D -0.933237 0.955057 -1.692109
'''
# row, column
print(df.loc['C','Y'])
'''
Output: 0.5288134940893595
'''
# pass the list of rows and columns to get the subsets
print(df.loc[['B','C'],['Y','Z']])
'''
Output:
          Y Z
B -0.848077 0.605965
C 0.528813 -0.589001
'''


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *