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…
Si vas a usar matplotlib has de añadir la línea %matplotlib inline para que los gráficos se añadan al notebook.
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(). Con 'h' seria para horas.
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.
Añadir una columna (occourences) con valores de 1: crimes['occourences'] = np.ones(len(crimes)). Ahora podrías crear un índice quitándote los repetidos con: crimes.occourences.groupby(level=(0, 1)).sum()
fillna(0) method llena los valores que son NaN con 0.
Consultar: crimes_by_type.loc[:, ['THEFT', 'HOMICIDE']]['2016']. Mostrará los crímenes theft y homicidio en 2016. Para quitar ruido (porque estarán puestos por hora) los ponemos por día: crimes_by_type.loc[:, ['THEFT', 'HOMICIDE']]['2016'].ersample('D').sum().plot()
https://ipywidgets.readthedocs.io
Are for creating dynamic notebooks.
from ipywidgets import interact @interact(crime_type = crimetype.columns) def plot_cart(crime_type): crime_by_type.loc[:, crime_type]...