Exemple de notebook jupyter

Un notebook jupyter est un environnement de developpement en ligne à base de cellules executables qui contient

  • des cellule en markdown (comme celle-ci) (texte mis en forme)

  • des cellules en python (ou R)

On lance un notebook jupyter avec la commande suivante

    > jupyter notebook
In [2]:
# list comprehension

liste_a = [1,2,3,4,5,6,5,4,3,2,1, 12, 10]
liste_b = [3,5,7,9,7,3,1,3,5, 2,2]


# liste_c contient les  elements communs a liste_a et liste_b


liste_c = [x for x in liste_a if x in liste_b]

# les elements uniques de liste_c
sorted(list(set(liste_c)))
Out[2]:
[1, 2, 3, 5]
In [8]:
df.head()
Out[8]:
IDBASE TYPEEMPLACEMENT DOMANIALITE ARRONDISSEMENT COMPLEMENTADRESSE NUMERO LIEU / ADRESSE IDEMPLACEMENT LIBELLEFRANCAIS GENRE ESPECE VARIETEOUCULTIVAR CIRCONFERENCEENCM HAUTEUR (m) STADEDEVELOPPEMENT REMARQUABLE geo_point_2d
0 232702.0 Arbre Alignement PARIS 11E ARRDT NaN NaN BOULEVARD DE MENILMONTANT 000602002 Sophora Sophora japonica NaN 55.0 5.0 JA 0.0 48.8652353853, 2.38481800435
1 235862.0 Arbre Alignement PARIS 18E ARRDT NaN NaN AVENUE DE LA PORTE DE CLIGNANCOURT 000303007 Tilleul Tilia tomentosa NaN 60.0 10.0 JA NaN 48.8999949231, 2.34379810146
2 236391.0 Arbre Alignement PARIS 15E ARRDT 27 NaN BOULEVARD GARIBALDI 000101024 Noisetier de Byzance Corylus colurna NaN 60.0 10.0 JA NaN 48.8470727044, 2.30470921442
3 241122.0 Arbre Alignement PARIS 14E ARRDT NaN NaN RUE SARRETTE 000501003 Tilleul Tilia tomentosa NaN 155.0 12.0 A 0.0 48.8259993388, 2.32878574525
4 99927.0 Arbre Jardin PARIS 16E ARRDT NaN NaN JARDIN DU RANELAGH 00030007 Erable Acer platanoides 'Schwedleri' 125.0 0.0 NaN NaN 48.858836461, 2.26870442691

Dataframe Pandas

In [3]:
import pandas as pd

DATA_PATH = '../data/'
In [13]:
# load le dataset dans une dataframe pandas
# Preciser que les colonnes du fichiers sont séparées par un ; et non une ,


df = pd.read_csv(DATA_PATH + 'les-arbres.ctsv', sep = ';', error_bad_lines = False)
b'Skipping line 1916: expected 17 fields, saw 18\n'
In [14]:
# Les 5 premiers lignes du dataset
df.describe()
Out[14]:
IDBASE NUMERO CIRCONFERENCEENCM HAUTEUR (m) REMARQUABLE
count 2.003320e+05 0.0 200332.000000 200332.000000 137203.000000
mean 3.871040e+05 NaN 83.377988 13.108235 0.001341
std 5.454652e+05 NaN 672.864029 1970.258098 0.036596
min 9.987400e+04 NaN 0.000000 0.000000 0.000000
25% 1.558788e+05 NaN 30.000000 5.000000 0.000000
50% 2.210865e+05 NaN 70.000000 8.000000 0.000000
75% 2.741462e+05 NaN 115.000000 12.000000 0.000000
max 2.024745e+06 NaN 250255.000000 881818.000000 1.000000
In [15]:
# exemple de string interpolation
print("le dataset a {} echantillons et {} variables".format(
    df.shape[0], df.shape[1] 
))
le dataset a 200332 echantillons et 17 variables
In [10]:
# le nombre d'arbres par espece pour les 10 espece les plus fréquentes:

df.LIBELLEFRANCAIS.value_counts()
Out[10]:
Platane                 42565
Marronnier              25231
Tilleul                 21335
Erable                  18403
Sophora                 11798
Frêne                    5171
Pin                      4844
Micocoulier              4201
Chêne                    3866
Cerisier à fleurs        3767
Charme                   3472
Poirier à fleurs         3409
Noisetier de Byzance     3372
Peuplier                 3314
Robinier                 2306
Bouleau                  2252
Orme                     2070
If                       1995
Hêtre                    1926
Paulownia                1413
Fevier                   1394
Faux-cyprès              1212
Cyprès                   1205
Noyer                    1130
Tulipier                 1128
Magnolia                 1127
Cedrele                  1067
Arbre de Judée           1019
Pterocarya                997
Prunier à fleurs          976
                        ...  
Poliothyrsis                2
Tapiscia                    2
Staphylier                  2
Goyavier                    1
Idesia                      1
Ormeau épineux              1
Sycopsis                    1
Stewartia                   1
Amla                        1
Genêt                       1
Camphrier                   1
Ostryer                     1
Xanthoceras                 1
Distylium                   1
Callistemon                 1
Fremontia                   1
Andromède                   1
Maackie                     1
Jujubier                    1
Laurier des Açores          1
Cordyline                   1
Caragana                    1
Papayer                     1
Asiminier                   1
Pistachier                  1
Heptacodion de Chine        1
Seringas                    1
Garrya                      1
Faux dattier                1
Euscaphis                   1
Name: LIBELLEFRANCAIS, Length: 193, dtype: int64
In [17]:
import matplotlib.pyplot as plt
%matplotlib inline
In [19]:
plt.plot(df['CIRCONFERENCEENCM'][0:1000], df['HAUTEUR (m)'][0:1000], '.')
Out[19]:
[<matplotlib.lines.Line2D at 0x10c74ae80>]
In [ ]: