J'ai un tableau Numpy 2-D dans lequel une colonne a des valeurs booléennes, c'est-à-dire True
/False
. Je veux le convertir en entier 1
et 0
respectivement, comment puis-je le faire?Comment convertir un tableau booléen en tableau int en python
E.g. mon data[0::,2]
est booléen, j'ai essayé
data[0::,2]=int(data[0::,2])
, mais il me donne l'erreur:
TypeError: only length-1 arrays can be converted to Python scalars
Mes 5 premières lignes de la matrice sont:
[['0', '3', 'True', '22', '1', '0', '7.25', '0'],
['1', '1', 'False', '38', '1', '0', '71.2833', '1'],
['1', '3', 'False', '26', '0', '0', '7.925', '0'],
['1', '1', 'False', '35', '1', '0', '53.1', '0'],
['0', '3', 'True', '35', '0', '0', '8.05', '0']]
Ceci ne peut pas être un tableau 2D, car dans un tableau 2D, tous les éléments ont le même type. Probablement, vous avez un tableau structuré. Pourriez-vous, s'il vous plaît, en montrer quelques lignes complètes et son 'dtype'? – kirelagin
OK, ces citations devraient vous indiquer que vous avez un tableau de chaînes. Donc, encore une fois, en numpy, tous les éléments d'un tableau 2D doivent avoir le même type. Vous avez besoin de [tableaux structurés] (http://docs.scipy.org/doc/numpy/user/basics.rec.html) ou simplement vous débarrasser de numpy et utiliser des listes Python ordinaires. Pourquoi avez-vous besoin de numpy et quel est votre objectif final? – kirelagin
En fait, je suis un tutoriel sur le projet d'apprentissage machine qui utilise python, et comme je suis nouveau sur python je suis confronté à ces difficultés, il demande un tableau numpy. Donc ce serait génial si vous pouviez me dire comment convertir tout ce tableau de chaînes pour flotter car il est clair qu'il peut être converti en float (traiter true comme 1 et fase comme 0). –