0
votes

Comment changer une matrice numpie en supprimant les citations et en ajoutant une virgule entre chaque valeur?

Si j'ai un tableau comme celui-ci:

 array([[10, 2, 1967, 19.7, 7.5],
        [10, 3, 1967, 18.3, 21.0],
        [10, 4, 1967, 17.6, 0.0]])


3 commentaires

Voulez-vous convertir les nombres simples à quelque chose? int ou float ? Avec une matrice numpue, vous ne pouvez pas mélanger les deux.


Quelle est la source de ce tableau? Il serait préférable de le corriger avant sa création, le réparer plutôt après. La source et les cibles sont des tableaux très différents. L'un est 1D avec des éléments de cordes. L'autre est 2D avec des éléments numériques. Les citations et les virgules nous parlent des tableaux, mais ils ne sont pas ce qui les définit.


J'ai manqué quelque chose auparavant. Votre tableau source est 2D, avec forme (3,1). J'ai négligé cet ensemble intérieur de []. Les descripteurs de clé d'une matrice numpue sont la forme et DTYPE.


3 Réponses :


2
votes

Les tableaux numpus réguliers doivent avoir un seul DTYPE . Dans ce cas, float peut être approprié: xxx


0 commentaires

0
votes

Ceci est une approche.

[[10, 2, 1967, 19.7, 7.5], [10, 3, 1967, 18.3, 21.0], [10, 4, 1967, 17.6, 0.0]]


0 commentaires

0
votes

Autre couple d'options:

array = np.array([['10      2       1967    19.7    7.5'],
                  ['10      3       1967    18.3    21.0'],
                  ['10      4       1967    17.6    0.0']])

new_ary1 = np.array([ [ float(n) for n in e[0].split() ] for e in array ])
new_ary2 = np.array([ np.array(e[0].split(), dtype=float) for e in array ])


0 commentaires