Crear Dataframe

## QUE MIERDA ES UN DATAFRAME 
    un maldito dataframe es una ESTRUCTURA DE DATOS bidimensional compuesta de filas y columnas , exactamente una columna es una serie en panda
# FORMAS DE CREAT UNA SERIE
    - Diccionario
    - Listas
valores = {
    "Jilari": {
        "Edad": 20,
        "Codigo universidad": 11234151,
        "Ralphs asesinados": 20
    },
    "Enzito": {
        "Edad": 1000,
        "Codigo univversidad": 2024120391,
        "Ralph asesinados": 200
    }

}

serie_almnos =  pd.Series(valores, name="Alumnos")
print(serie_almnos)

Jilari {'Edad': 20, 'Codigo universidad': 11234151, '... Enzito {'Edad': 1000, 'Codigo univversidad': 20241203... Name: Alumnos, dtype: object

valores = ["Jilari", "Enzo", "Estanilae"]
serie = pd.Series(valores, name= "tilines", index=[chr(i) for i in range(ord('A'), ord('A')+len(valores))])
serie

Formas de ingresar una serie

# Crear una serie con numpy 

serie_uno = pd.Series(np.random.randint(0, 10, (10,)), index=[chr(c) for c in range(ord('A'), ord('A')+10)])
serie_dos =  pd.Series(np.random.randint(0, 10, (10,)), index=[chr(c) for c in range(ord('A')+10,ord('A')+20)])
serie_uno, serie_dos
#LOC
serie_uno.loc[['A', 'B']]

.loc[[filas], [columnas]] → sin keys

.loc[indice_inicio: indice_final] → accedemos por indices

.loc[(llave, fila), columna]

#ILOC
serie_dos.iloc[8:] 

df.iloc[[0, 1]] a b c d 0 1 2 3 4 1 100 200 300 400

With a `slice` object.

>>> df.iloc[:3]
      a     b     c     d
0     1     2     3     4
1   100   200   300   400
2  1000  2000  3000  4000

Funcion apply

serie_uno.apply(lambda x: x**2)

image.png

Funcion convinar dataframes

dataframe_uno.add(dataframe_dos, fill_value=0) 
#Indicamos que agregaremos al dataframe uno los valores del dos, los que no tengan nada en comun se agregaran con 0 
pd.concat(dataframe_dos, ignore_keys, keys=[])
dataframe.join() # junta de acuerdo a indices comune
pd.merge(df1, df2, on="columna comun", how="outer") 
# outer indicamos que aceptaremos valores que no tengan en comun y rellenara las columnas con nulos
# inner predeterminado indicamos que aceptaremos valores solo comunes

dataframe.groupby(by=[columnas])
# agrupamos los valores de una columna por un valor en comun, este metodo devolvera un direccion de memoria,