Herramientas de usuario

Herramientas del sitio


wiki2:jupyter

¡Esta es una revisión vieja del documento!


Jupyter notebooks

Basic

Current examples: Github -> iPython -> iPython -> examples

Ctrl+ENTER en una celda la ejecuta y se queda en dicha celda. Con Shift + ENTER la ejecuta y pasa a la siguiente.

Puedes cambiar el tipo en Cell → Cell Type. Por ejemplo código, markdown, texto…

!ls to launch a shell command. It's possible to do a = !ls. You can access to a python variable with $. Something like touch $file_path

No hace falta usar la función print.

Puedes descargar con formatos tales como python, latex, pdf…

Mostrar gráficos

Si vas a usar matplotlib has de añadir la línea %matplotlib inline para que los gráficos se añadan al notebook.

Usar pandas

df = pd.read_csv('file.csv', header=2) lee el fichero file.csv esquivando las dos primeras líneas. Más parámetros a la hora de leer:

  • indx_col=(0, 2, 3), indica que las columnas 0, 2 y 3 son índices.
  • parse_dates=[3] indica que la columna 3 es fecha.

df.head() cogerá la cabecera.

db['2000'] cogerá la columna 2000.

df.plot() mostrará los datos en un gráfico.

le = df.groupby(level=0).first().transpose() agrupa por la primera columna y muestra la matriz girada.

le.columns mostrará los nombres de columnas.

Coger solo unas columnas:

le[['1990', '2000', '2010']]

Para agrupar una columna por intervalos de, por ejemplo días, y luego contarlos usaríamos: data['columns'].resample('D').count()

Panda data structures

  • Series: 1D = numpy.ndarray = similar to a dictionary (indice + valor)
  • DataFrame: 2D = numpy.ndarray = similar to a Excel spreadsheet (columns have different array)
  • Multiindex series o dataframe: higher dimensional data

Crear una serie:

a = pd.Series({'a': 33, 'b': 334})

Crear un dataframe:

# a = previous example 'a' variable
b = pd.Dataframe(pd.dataframe({'age': a, 'test': {'a': 55, 'b': 53})

To select rows:

b.loc('b')
b.loc(['a', 'b'])

Select by column:

df.loc(:, ['b'])

iloc is another way to select with indexes. Also slicing: df.iloc[2:5] que es lo mismo que df(2:5)

También se puede escoger booleanos: df > 500 devolverá una lista de cabecera y true\false. Puede hacerse una consulta algo así: daily_crimes(daily_crimes > 500).count() que devuelve solo el número que es mayor que 500. Otra forma: daily(daily_crimes(daily_crimes > 500 & daily_crimes < 600).count()

count and sum are other userful functions.

crimes = cirmes.set_index(['primary'], append=True) añade la columna primary al indice. Es decir añade un level al indice.

Reshaping

  • pivot_table (to select just the rows and columns you want)
  • stack / unstack (to add more levels to a multiindex)
  • groupby (like sql group by)
  • resample (for time intervals)

Jupyter Notebooks ─ Special cases

... And Google Spreadsheets

wiki2/jupyter.1545580895.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)