Comment mettre les données d'un fichier CSV dans une matrice en python en utilisant numpy ?

En python, il existe plusieurs solutions pour lire un fichier csv (comma separated values) :

Note : on peut utiliser numpy pour lire un fichier csv s'il celui-ci ne contient qu'un seul type de données (par exemple un fichier csv avec uniquement des chiffres). Si le fichier csv contient des colonnes de types différents comme de chaînes de caractères et des entiers par exemple, il faut alors utiliser le module pandas, voir comment lire un fichier de données csv avec pandas ?

Lire un fichier csv en utilisant numpy loadtxt

Essayons de lire le fichier github csv suivant:

https://raw.githubusercontent.com/edbullen/Hypothesis/master/ages.csv

pour cela une solution est d'utiliser loadtxt:

ages = np.loadtxt('https://raw.githubusercontent.com/edbullen/Hypothesis/master/ages.csv', skiprows=0, delimiter=',')

donne ici

array([32., 34., 29., 29., 22., 39., 38., 37., 38., 36., 30., 26., 22.,
   22.])

Note:

type(ages)

donne

numpy.ndarray

et

ages.dtype

donne

dtype('float64')

Lire un fichier csv en utilisant numpy genfromtxt

Une autre solution consiste à utiliser genfromtxt

ages = np.genfromtxt('https://raw.githubusercontent.com/edbullen/Hypothesis/master/ages.csv', delimiter=',')

Références