Show Menu
Cheatography

Python pandas Cheat Sheet by

Python pandas cheat sheet

Fijar el estilo gráfico de seaborn por defecto

sns.set()

Operac­iones básicas con series

s = pd.Ser­ies­(list, index = list)
Crear serie. Si en vez de una serie se introduce un escalar, todas las filas tendrán ese valor.
s = pd.Ser­ies(d)
Crear serie a partir de un diccio­nario
s[n]
Extraer elemento con el índice implícito de la serie. Si los índices asignados son números entero, el índice implícito queda desact­ivado
s["n­ame­"]
Extraer elemento con el nombre del índice
s.nombre
Extraer elemento con el nombre del índice
s.dtype
Tipo de datos en la serie
s.index
Consultar índice de la serie
s.axes
Nos da acceso "a los ejes" (a los índices)
s.values
Consultar valores de la serie
s.name
Consultar o cambiar nombre de la serie. Por defecto, está vacío
s.inde­x.name
Consultar o cambiar nombre del índice de la serie. Por defecto, está vacío
s.shape
nos devuelve el tamaño de la serie
s = pd.Ser­ies(d, index = list)
Crear serie a partir de un diccio­nario, pero especi­ficando nosotros el índice. Si hay valores que no perten­ezcan diccio­nario, se añaden con un valor NaN:

Aplicación de funciones estadí­sticas

data.m­ean()
.podemos calcular el valor medio de los datos
data.m­ean­(level = "­Yea­r")
si especi­ficamos el nivel al que queremos aplicarlo, el DataFrame se agrega según los valores de dicho nivel antes de realizar la operación

Selección de datos en dataframes

Ventas­["B"]­["fe­b"]
podemos utilizar la sintaxis de los diccio­narios para selecc­ionar la columna "­B":. Esto significa que podemos realizar una selección en dicho resultado para, por ejemplo, extraer el valor corres­pon­diente a febrero:
Ventas­["B"] = [-1, -2, -3, -4, -5]
Si, una vez selecc­ionada una columna, le asignamos una lista o array (o serie) de valores de la misma longitud, estamos modifi­cando dicha columna del dataframe:
Ventas­["C"] = 0
Si asignamos un único valor escalar, este se propaga por toda la columna:
Ventas­["D"] = pd.Ser­ies­(list, index = list )
Si asignamos a una columna una serie pandas se consideran los índices del dataframe y de la serie, haciendo coincidir los valores cuyos índices sean los mismos en ambas estruc­turas (si dicha columna no existe, se crea). En el caso de que haya valores en la serie con índices que no se encuentren en el dataframe, se descartan. Y en el caso de que haya índices en el dataframe que no se encuentren en la serie, se asigna un valor NaN.
del(Ve­nta­s["A­"])
Borrar columna. Con la notación Ventas.A no es posible crear nuevas columnas ni elimin­arlas
Ventas­[2:4]
El uso de un rango numérico entre los corchetes realiza una selección de filas
Ventas­["fe­b":"m­ay"]
vemos en el resultado anterior que se devuelven las filas entre el primer valor del rango (incluido) y el último (sin incluir). aunque en este caso la selección incluye tanto la fila corres­pon­diente a la primera etiqueta como la fila corres­pon­diente a la segunda.
tips[[­"­tip­", "­day­"]]
Si situamos entre los corchetes una lista de etiquetas, estaremos selecc­ionando columnas en el orden en el que aparecen en la lista y con formato dataframe
df.get­("na­me")
extrae la columna indicada devolv­iendo un valor altern­ativo (por defecto None) si dicha columna no existe:
Ventas.lo­c["m­ay"]
Selecc­ionar filas siempre por etiqueta. Acepta listas.
Ventas.lo­c[[­"­feb­"]]
Selecciona fila y la devuelve en formato dataframe. Si hay varias en la lista, se devuelve un dataframe con esa selección. Admite rangos.
Ventas.lo­c["m­ay", "­C"]
Extraer un único valor por fila y columna. Admite rangos como Ventas.loc[:, "­A"]
Ventas.lo­c[[­"­may­", "­ene­"], "­B"]
selecc­ionar la inters­ección de las filas e y c (en este orden) y la columna B
df.iloc[n]
Selección por posición de fila. Mismas funcio­nal­idades que iloc.
Ventas.co­lum­ns.g­et­_lo­c("B­")
Obtiene el índice de la columna con esa etiqueta.
Ventas.co­lum­ns.g­et­_in­dex­er(­["A", "­C"])
Obtiene el índice de columnas con esas etiquetas. Devuelve un array
Ventas.in­dex.ge­t_l­oc(­"­feb­")
Obtiene el índice de la fila con esa etiqueta.
Ventas.in­dex.ge­t_i­nde­xer­(["f­eb", "­abr­"])
Obtiene el índice de filas con esas etiquetas. Devuelve un array
Ventas.il­oc[­Ven­tas.in­dex.ge­t_l­oc(­"­feb­"), 2]
extraer del anterior dataframe el dato que ocupa la fila "­feb­" y la columna de índice 2
df.ilo­c[[5, 3], df.col­umn­s.g­et_­ind­exe­r([­"­C", "­A"])]
obtener de las filas 5 y 3 (en este orden) los valores corres­pon­dientes a las columnas C y A (en este orden)
df[df.col > n]
Selección con booleanos. También funcio­naría Ventas.lo­c[d­f.col > n] o con Ventas.il­oc[­(df.col > n).values] (expli­cación en la sección de series)
df.sam­ple(n, random­_state = ..., axis = ..., frac=...)
Al igual que ocurre con las series, también los dataframes tienen un método que permite extraer elementos del mismo de forma aleatoria. Este método permite especi­ficar el número de elementos a extraer (o el porcentaje respecto del total, parámetros n y frac, respec­tiv­ame­nte), si la extracción se realiza con reemplazo o no (parámetro replace), los pesos a aplicar a los elementos para realizar una extracción aleatoria ponderada (parámetro weights) y una semilla para el generador de números aleatorios que asegure la reprod­uci­bilidad de la extracción (parámetro random­_st­ate). También es posible indicar el eje a lo largo del cual se desea realizar la extracción (por defecto se extraen filas, corres­pon­diente al eje 0)
s = df.pop­("co­l")
extrae y elimina una columna de un dataframe

Multi-­índices por producto cartesiano de arrays

`index = pd.Mul­tiI­nde­x.f­rom­_pr­oduct(´
    [

      [2018, 2019],

        ["Sp­ain­", "­Por­tug­al", "­Fra­nce­"]

   ],

   names = ["Ye­ar", "­Cou­ntr­y"]

)


data = pd.Dat­aFr­ame­(data = [18, 20, 10, 15, 12, 18], index = index, columns = ["Sa­les­"])

Multi-­ind­exación

index = pd.Mul­tiI­nde­x.f­rom­_ar­rays(

    [

 
 [2018, 2018, 2018, 2019, 2019, 2019],

 
 ["Sp­ain­", "­UK", "­Fra­nce­", "­Spa­in", "­UK", "­Fra­nce­"]

    ],

    names = ["Ye­ar", "­Cou­ntr­y"]

)


data = pd.Dat­aFrame(

 
data = [18, 20, 10, 15, 12, 18], 

 
index = index, columns = ["Sa­les­"])

Operac­iones entre dataframes y series

df + s
Se suman los valores de una serie a todas las columnas (en todas las filas) cuyos valores coindicen con las etiquetas de la serie. Si la serie tiene índices cuyas columnas no existen en el df, se añaden con el valor NaN en todas las filas.
df.add(s, axis = 0)

Aplicación de funciones y mapeado

s.appl­y(fun)
permite aplicar a cada uno de los elementos de la serie una función. Ésta deberá aceptar un único valor como argumento y devolver también un único valor
s.map(obj)
Cambia los valores de la serie por los indicados en la función. Puede ser un diccio­nario u otra serie, en cuyo caso se cambian por los valores de la otra serie siguiendo buscand en el índice los valores que coinciden. También acepta funciones.
df.app­ly(fun)
Aplica una función al df (por columnas eje 0 por defecto. Devuelve una serie donde en el caso por defecto los índices son los nombres de las columnas.
df,app­lym­ap(fun)
aplica una función que acepta y devuelve un único escalar. Va celda por celda y devuelve otro df.

Agrupa­ciones

s.grou­pby(by = fun).m­ean()
A groupby operation involves some combin­ation of splitting the object, applying a function, and combining the results. This can be used to group large amounts of data and compute operations on these groups
s.grou­pby(by = d).mean()
s.grou­pby­(level = 0).mean()
df.gro­upby(by = "­col­"­).m­ean()
df.gro­upby(by = ["Ca­teg­orí­a", "­Pro­duc­to"]­).m­ean()
ventas.gr­oup­by(­level = 0).mean()
Según las etiquetas del índice.
df.piv­ot_­tab­le(­index = "­foo­", columns = "­bar­", values = "­baz­")
Take a dataframe and create a new one where the index is one of the columns, columns are the values of other column and the values are taken from one more different column. Los valores que toma la variable incluida en el parámetro values van a la inters­ección de filas y columnas, aplicá­ndo­seles una cierta función de agregación que, por defecto, es np.mean (cálculo del valor medio).
aggfunc = "­cou­nt"
En vez de agrega los valores, agrega el número de registros presentado en cada inters­ección.
df.piv­ot_­tab­le(­index = "­foo­", columns = "­bar­", values = "­baz­", aggfunc = ["me­an", "­cou­nt"])
Es posible aplicar más de una función de agregación a los datos. Se devuelve un df con las columnas repetidas según cada parámetro.
 

Métodos de agregación estadí­stica

df.des­cribe()
inform­ación estadí­stica sobre los valores contenidos
df.mean()
Devuelve la media aritmética de los valores del dataframe a lo largo de un determ­inado eje (eje 0 -vertical- por defecto)
pandas.Da­taF­ram­e.m­edian
pandas.Da­taF­ram­e.mode
pandas.Da­taF­ram­e.std
Devuelve la desviación estándar de los valores del dataframe a lo largo de un determ­inado eje
pandas.Da­taF­ram­e.var
df.pct­_ch­ange()
devuelve el porcentaje de cambio de una fila con respecto a la anterior (también puede aplicarse a columnas usando el parámetro axis). Podemos ver que los valores de la primera fila, al no existir una anterior con respecto a la que realizar el cálculo, reciben un valor NaN por defecto. En todo caso, es posible regular el compor­tam­iento del método al respecto de los valores NaN con el parámetro fill_m­ethod.
df.nun­ique()
devuelve el número de valores diferentes a lo largo del eje indicado

Ordenación y clasif­icación

s.sort­_in­dex()
Ordenación de series por índice. De forma descen­dente con ascending = False. Si los índices fuesen cadenas de texto, se ordenarían de la "­a" a la "­z", dando a las mayúsculas mayor prioridad.
df.sor­t_i­ndex()
Se puede hacer por filas o columnas con el parámetro axis. Acepta el parámetro ascending
df.sor­t_i­nde­x().so­rt_­ind­ex(axis = 1)
Ordenación a lo largo de ambos ejes
s.sort­_va­lues()
Ordenación de series por valor. De forma descen­dente con ascending = False.
df.sor­t_v­alu­es(by = "­A")
Supongamos que queremos ordenar esta estructura según la columna A. El eje por defecto son las columnas (axis=0).
df.sor­t_v­alu­es(by = ["A", "­C"])
En el caso de que dos filas tengan el mismo valor durante la ordena­ción, se recurre al valor de la segunda columna indicada.
s.rank()
Devuelve una serie conten­iendo la posición de cada valor de la serie original si fuesen ordenados de menor a mayor. En el caso de valores repetidos, se calcula la posición media. Con el método method = "­min­" se les adjudica la posición más baja.
df.rank()
Por defecto en el eje vertical (0)

Selección con multi-­índices

data.i­nde­x.g­et_­lev­el_­val­ues(n)
Trabajando con un DataFrame o una Serie pandas con multi-­índice, es posible extraer los valores de un nivel del índice (columna). El parámetro que deberemos pasar a este método será o el número del nivel o su nombre
data.l­oc[­2018]
data.l­oc[­(2018, "­Spa­in")]
Es posible extraer los valores de un índice que está dentro de otro índice.

Multi-­índices a partir de un array de tuplas

index = pd.Mul­tiI­nde­x.f­rom­_tu­ples(

   [

   (2018, "­Spa­in"),

   (2018, "­Por­tug­al"),

  (2018, "­Fra­nce­"),

 (2019, "­Spa­in"),

 (2019, "­Por­tug­al"),

  (2019, "­Fra­nce­")

  ],

 names = ["Ye­ar", "­Cou­ntr­y"])


data = pd.Dat­aFr­ame­(data = [18, 20, 10, 15, 12, 18], index = index, columns = ["Sa­les­"])

Unión de dataframes

pd.con­cat­([df1, df2])
Unión básica de datafr­ames. Se pone uno encima del otro, añadiendo todos los índices aunque se repitan. En las columnas se añaden primero las columnas del primer df y luego las del segundo que no se hayan repetido, y si un dataframe no tiene valores para esa columna se añaden valores NaN.
pd.con­cat­([df1, df2], axis = 1)
Se pone un dataframe al lado del otro. Se añaden las columnas comunes y no comunes aunque se repita el nombre. En el eje 0 se ponen primero los índices del primer df y luego los índices del segundo que no se hayan repetido.
join = "­inn­er"
Parámetro de concat para que solo se unan con las etiquetas comunes. El parámetro por defecto es "­out­er"
ignore­_index = True
Se elimina el nombre de las filas para axis=0 en el parámetro concat o el nombre de las columnas para axis=1 y se introduce un índice nuevo empezando por 0. Por defecto, el valor es False
pd.mer­ge(df1, df2)
Unión de dfs ignorando el índice. Se buscan las columnas en común, y después se colocan los valores en de cada fila de ambos dfs cuyo valor en esa columna coincida.
how="ou­ter­"
Parámetro de merge. La función coge todos los valores de las columnas en común, no solo los valores de la columna en común que estén presentes en ambos dfs.
on="­col­umn­"
Especi­ficar la columna en común. Si hay más de una columna en común y solo se especifica una, se crearán varias copias mostrando todas las posibles combin­aci­ones.
left_on = "­Mon­th", right_on = "­Mon­thN­ame­"
Especi­ficar qué columna debería ser común cuando tengan diferentes nombres
left_on = "­Mon­th", right_­index = True
Especi­ficar que en vez de una columna común se tiene un índice

Unión de series

t = pd.con­cat([s, r])
Unión básica de series. Si las etiquetas coinciden se repiten para cada valor.
pd.con­cat([a, b], axis = 1)
Unión de series en forma de dataframe. La primera columna será la primera seria, la segunda columna será la segunda serie y el índice de filas serán las etiquetas compar­tidas y no compar­tidas. Valores NaN para laos valors de las series cuyas etiquetas no existen en la otra. Admite el parámetro sort.

Edición de series

s[0] = -1
Podemos modificar un valor de una serie usando la notación corchetes, y haciendo referencia a índices o a etiquetas:
s["b­"] = -2
Podemos modificar un valor de una serie usando la notación corchetes, y haciendo referencia a índices o a etiquetas:
s[1:3] = 0
s["b­"­:"d"] = -10
s["b­"­:"d"] = [10, 11, 12]
s["f­"] = 0
si se trata de una etiqueta (y no existe) se añade:
s["d­"­:"h"] = 0
Si el rango incluye valores que no existen, se ignoran
s[["­c", "­a"]] = [-1, -2]
Podemos incluir como argumento del operador selección una lista de etiquetas, en cuyo caso los valores se asignan en el orden indicado
s[[1, 0]] = [20, 21]
También podemos usar índices. Pero si coinciden los índices y las etiquetas, éstas tienen prefer­encia en este tipo de selección, a menos que usemos los métodos loc e iloc
r = s.drop­("b")
devuelve una copia de la serie tras eliminar el elemento cuya etiqueta se especi­fica. Admite listas. El argumento inplace = True realiza la elimin­ación "­inp­lac­e" (modif­icando direct­amente la serie).
s.drop­(s.i­nd­ex[[1, 3]])
Uso de drop con índices en vez de etiquetas.
s.pop(­"­b")
devuelve el valor corres­pon­diente a dicha etiqueta, elimin­ándolo de la serie in-place
s.wher­e(c­ond­ition, iftrue, iffalse)
permite filtrar los valores de una serie de forma que solo los que cumplan cierta condición se mantengan. Los valores que no la cumplan son sustit­uidos por un valor (NaN por defecto, u otro valor si se especi­fica):

Operac­iones básicas con dataframes

df = pd.Dat­aFr­ame(d, index = list, column­s=list)
Crear dataframe a partir de un diccio­nario o un array matriz. Si el diccio­nario contiene listas, se crean varias filas. Lo mismo ocurre si en vez de un diccio­nario se usa una lista de diccio­narios que tengan las mismas claves. Las claves del diccio­nario son los nombres de las columnas, a excepción de que se indique algo distinto en el parámetro columns, en cuyo caso deberá coincidir con las claves del diccio­nario o no se mostrarán los valores.
pandas.Da­taF­ram­e.f­rom­_dict
crea un dataframe a partir de un diccio­nario de diccio­narios o de secuencias tipo array
pandas.Da­taF­ram­e.f­rom­_re­cords
parte de una lista de tuplas o de arrays NumPy con un tipo estruc­turado
df["­col­"]
Consultar una columna de dataframe
df.col
Consultar una columna de dataframe
df.dtypes
Consultar tipos de datos en las columnas de un dataframe
df.index
Índice de filas de un dataframe
df.columns
Lista de nombres de columnas del dataframe
df.axes
Ver ejes del dataframe (filas y columnas)
df.ind­ex.name
Ver/ca­mbiar el nombre del eje x (conjunto de filas)
df.col­umn­s.name
Ver/ca­mbiar el nombre del eje y (conjunto de columnas)
df.values
Ver valores del df en forma de array
df.shape
Dimens­iones del df

Lectura y escritura de ficheros

df = pd.rea­d_c­sv(­"­fil­e.c­sv")
Lectura de fichero
df.to_­csv­('o­ut.z­ip', index=­False)
Guardar dataframe o serie
 

Operac­iones con dataframes

df1.ad­d(df2, fill_value = 0)
establecar un valor predet­erm­inado para aquellos valores que no se encuentren en uno de los datafr­ames.
pandas.Da­taF­ram­e.add
pandas.Da­taF­ram­e.sub
pandas.Da­taF­ram­e.mul
pandas.Da­taF­ram­e.div
pandas.Da­taF­ram­e.mod
calcular el módulo de un dataframe y otro dataframe, elemento por elemento
pandas.Da­taF­ram­e.dot
multip­lic­ación de las dos matrices repres­entadas por los dos dataframes
pandas.Da­taF­ram­e.abs
copia del dataframe conten­iendo el valor absoluto de cada uno de sus valores

Operac­iones con series

r.add(s, fill_value = 0)
Sumar series por etiquetas, añadiendo un valor por defecto cuando una serie no tiene las etiquetas de la otra.
pandas.Se­rie­s.sub
pandas.Se­rie­s.mul
pandas.Se­rie­s.div
pandas.Se­rie­s.round

Reinde­xación de series

s.rein­dex­(list)
copia reindexada de una serie. El primer argumento siempre es el nuevo índice. Si el nuevo índice es un subcon­junto del original, la serie generada no contendrá todos los valores de la serie de la que partimos. si en el nuevo índice se incluyen etiquetas no incluidas en el índice original, la nueva serie incluirá dicha etiqueta pero el valor asignado a ella recibe el valor por defecto NaN. es person­ali­zable usando el parámetro fill_v­alue.
method = "­ffi­ll"
los valores existentes rellenan los valores inexis­tentes que los sigan. Se rellenan los valores inexis­tentes con el primer valor existente que los precedan. Por orden alfabé­tico.
method = "­bfi­ll"
method = "­nea­res­t"
asigna a cada valor descon­ocido el valor más próximo en la serie original. Para ver esta opción en funcio­nam­iento necesi­tamos partir de una serie cuyo índice sea numérico. Si en reindex un índice es 19 y en la serie original había un índice 20, se usa el valor de ese.

Reinde­xación de dataframes

df.rei­nde­x(list)
Reindexa por filas.
df.rei­nde­x(index = list)
Mismo resultado
df.rei­nde­x(c­olumns = list)
Reindexa por columnas
df.rei­nde­x(index = list1, columns = list2)
Reindexa por filas y columnas
df.set­_in­dex­("co­l")
fija una columna del dataframe como índice, descar­tando el índice existente. Con el parámetro drop = False se mantiene la columna.
Con reindex se asignan valores NaN a los valores de filas o columnas que no existan, lo que se puede cambiar con el parámetro fill_v­alue, o los mismos valores que en las series del parámetro method

Edición de dataframes

df.iloc[1, 2] = -100
Podemos modificar un valor concreto usando los métodos loc o iloc, en función de que queramos usar sus etiquetas o índices.
df["­C"] = [-100, -200, -300, -400, -500, -600]
Podemos modificar una columna completa selecc­ion­ándola y asigná­ndole, por ejemplo, una lista con los nuevos valores
df = Ventas.copy() df.loc­["fe­b":"m­ar", "­A":"B­"] = [[-100, -200], [-300, -400]]
Si la selección es un bloque de datos de un tamaño arbitr­ario, nos encont­ramos en el mismo escenario: o bien insertamos datos con el mismo tamaño que la selección, o insertamos un único valor que se propagará a toda la selección.
df = Ventas.copy() df.loc­["fe­b":"m­ar", "­A":"B­"] = -1
df.whe­re(­con­dition, iftrue, iffalse)
filtra los valores contenidos en el dataframe de forma que solo los que cumplan cierta condición se mantengan. El resto de valores son sustit­uidos por un valor que, por defecto, es NaN, o por otro valor si se especi­fica.
Ventas.dr­op(­["fe­b", "­abr­"], axis = 0)
elimina las filas o columnas indicadas y devuelve el resultado. lo que se muestra es el resultado de eliminar las filas indicadas del dataframe. Éste no se modifica salvo que utilicemos el argumento inplace = True.
Ventas.dr­op(­index = ["fe­b", "­abr­"])
Admite índices
Ventas.dr­op(­["A", "­C"], axis = 1)
Para eliminar columnas, habría que indicar el eje corres­pon­diente o usar el parámetro columns
Ventas.dr­op(­columns = ["A", "­C"])

Multi-­índices a partir de un DataFrame

df = pd.Dat­aFr­ame({

  "­Yea­r":[­2018, 2018, 2018, 2019, 2019, 2019],

 "­Cou­ntr­y": ["Sp­ain­", "­Por­tug­al", "­Fra­nce­", "­Spa­in", "­Por­tug­al", "­Fra­nce­"]

})


index = pd.Mul­tiI­nde­x.f­rom­_fr­ame(df)


data = pd.Dat­aFr­ame­(data = [18, 20, 10, 15, 12, 18], index = index, columns = ["Sa­les­"])

Selección de datos en series

s.get(n)
devuelve el valor que ocupa el índice indicado, y devuelve un valor nulo en caso de que no exista.
Si utilizamos el índice númerico implícito como rango (s[1:3]), se selecc­ionan los valores desde el primer índice incluido hasta el último sin incluir. Si se utilizan los índices explíc­itos, se incluyen los valores desde el primer hasta el último índice incluyendo ambos.
Sin embargo, si al utilizar un índice explícito númerico hacemos referencia a los datos con un rango, se sigue cogiendo desde el primer valor incluido hasta el último sin incluir.
s.loc[­"­nam­e"]
selecc­ionar un grupo de elementos por etiquetas y no por índice implícito. Acepta listas y rangos (devuelve todos los elementos entre los límites indicados, ambos incluidos)
s.iloc[n]
Extrae datos de la serie siempre a partir de los índices implícitos que éstos tienen asignados. si el rango tiene la forma a:b, se incluyen todos los elementos desde aquel cuyo índice es a (incluido) hasta el que tiene el índice b (sin incluir).
s[s > 2]
Ejemplo para extraer valores de una serie con valores booleanos.
s.loc[s > 2]
Mismo compor­tam­iento que el método anterior,
s.iloc[(s > 2).values]
Mismo compor­tam­iento que el método anterior. Con iloc debe ser así puesto que puede aceptar una lista de valores booleanos on un array NumPy, pero no una serie de pandas que es lo que genera este método.
s.pop(i)
extrae y elimina un elemento de una serie cuyo índice se indica como argumento. Si la serie tiene un índice explícito, el argumento de pop hará referencia a este índice.

Inspección de series y dataframes

df.head()
devuelve los primeros elementos de la estruc­tura. Por defecto, se trata de los 5 primeros elementos, pero podemos especi­ficar el número que deseamos como argumento de la función.
df.tail()
muestran los últimos elementos de la estruc­tura. Si no indicamos otra cosa como argumento, serán los 5 últimos elementos los que se muestren
s.sample(frac = 0.6, random_state = 18)
ver datos aleatorios de nuestra estruc­tura. el número de elementos devueltos por defecto es uno. permite especi­ficar o bien el número de elementos a extraer o bien la fracción del número total de elementos a extraer (parám­etros x y frac, respec­tiv­ame­nte), pudiendo especi­ficar si la extracción se realiza con reemplazo o no (parámetro replace), los pesos a aplicar a cada elemento para realizar una extracción aleatoria ponderada (parámetro weights), y una semilla para el generador de números aleatorios que asegure la reprod­uci­bilidad de la extracción (parámetro random­_state)
df.describe()
devuelve inform­ación estadí­stica de los datos del dataframe o de la serie. acepta el parámetro percen­tiles conten­iendo una lista (o semejante) de los percen­tiles a mostrar. También acepta los parámetros include y exclude para especi­ficar los tipos de las caract­erí­sticas a incluir o excluir del resultado.
df.info()
muestra un resumen de un dataframe, no de una serie. Incluyendo inform­ación sobre el tipo de los índices de filas y columnas, los valores no nulos y la memoria usada:
s.valu­e_c­oun­ts(­dropna = False)
devuelve una estructura conten­iendo los valores presentes en la serie y el número de ocurre­ncias de cada uno, Si se trata de una serie numérica, en lugar de devolver los valores distintos y el número de ocurre­ncias, este método también puede agrupar los datos en "­bin­s" y devolver una lista de bins (indicando sus márgenes) con el número de valores en cada uno de ellos (bins = 5)

Gestión de valores nulos

pd.isn­ull(s)
devuelve una estructura con las mismas dimens­iones que la que se cede como argumento sustit­uyendo cada valor por el booleano True si el corres­pon­diente elemento es un valor nulo, y por el booleano False en caso contrario
s.isnull()
pd.isn­ull(df)
df.isn­ull()
s.dropna()
filtra los valores para dejar solo aquellos no nulos
df.dro­pna()
Se aplica por defecto al eje 0, y borra las filas que tengan un valor nulo en cualquiera de las columnas. Con how = "­all­" se borran solo las filas que tengan todos los valores nulos. Esto por defecto es how="an­y"
s.fill­na(n)
permite sustituir los valores nulos de una estructura pandas por otro valor según ciertos criterios. Acepta los parámetros method = "­ffi­ll" y method­="bf­ill­"
df.fil­lna(n)
Si usamos los métodos indicados arriba también podemos cambiar el eje.
df.fil­lna­(axis = 1, method = "­bfi­ll").fi­llna(n)
asegur­arnos de que todos los elementos han sido sustit­uidos adecua­damente
       
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          More Cheat Sheets by julenx

          Python 1.1 Numpy Cheat Sheet
          R Cheat Sheet
          Pandas datetime Cheat Sheet