Comment convertir une matrice de floats en une matrice d'entiers avec numpy en python ?

Published: 25 septembre 2021

Tags: Python; Numpy;

DMCA.com Protection Status

Exemples de comment convertir une matrice de floats en une matrice d'entiers avec numpy en python ?

Créer une matrice de floats avec numpy

Créons d'abord une matrice de floats aléatoires avec numpy :

import numpy as np

data = np.random.rand(4,5) * 100.0

data

donne par exemple

array([[66.09124948, 68.46065421, 22.16897645, 77.84098663, 44.46296743],
       [16.41751266, 63.95374579, 86.87471262, 93.30928078, 59.99831054],
       [90.28468277, 72.28498272, 42.50043126, 41.53685781, 18.79383665],
       [96.91022221, 76.97924353, 80.93969912, 65.56091301,  6.87342516]])

Vérifier le type d'une matrice

data.dtype

donne ici

dtype('float64')

Convertir une matrice de floats en une matrice d'entiers

Pour convertir une matrice de floats en une matrice d'entiers, une solution consiste à utiliser numpy.ndarray.astype

data = data.astype(int)

data

donne alors

array([[66, 68, 22, 77, 44],
   [16, 63, 86, 93, 59],
   [90, 72, 42, 41, 18],
   [96, 76, 80, 65,  6]])

Notez que

data.dtype

donne

dtype('int64')

Références