Python: corte de matriz numpy de matriz 1D

CorePress2023-11-30  1

Inicializo una matriz como a=numpy.array([1,2,3]). al ejecutar la declaración print(a[0,:]), muestra un error. ¿Este método de corte solo funciona para matrices 2D?

  • tienes 2 índices ahí, solo necesitas uno, -E.Serra 8 de junio de 2020 a las 15:39
  • ¿Por qué hay una coma en ti?¿índice r? ¿Entiendes lo que hace? - hpaulj 8 de junio de 2020 a las 15:51
  • la declaración de impresión anterior debería imprimir toda la (primera) fila... esta declaración funciona bien en una matriz 2d e imprime la primera fila, pero en una matriz 1d da error, ¿alguien puede explicarlo? - Adnan Zahid 8 de junio de 2020 a las 15:59
  • @AdnanZahid como mencioné en mi respuesta, su matriz tiene la forma (3.), para abordar la matriz de la manera que mencionó, necesita que el vector sea al menos bidimensional. Por lo tanto, en su caso, lo más sencillo es hacer que su matriz sea bidimensional, agregando un nuevo eje con una longitud de uno. La pregunta ahora es: ¿debería a ser un vector de columna, en cuyo caso la primera fila solo consistiría en el número 1? Entonces, en lugar de mi respuesta, necesitaría a = a[:, np.newaxis], o a es una fila vector, entonces la primera fila es la matriz completa [1, 2, 3] en cuyo caso mi respuesta dada es la que necesitas -Roland Deschain 8 de junio de2020 a las 16:20
  • AFAIK usando a[0:] simplemente accede a todos los elementos de a comenzando desde el elemento 0, por lo tanto, no tiene ningún sentido, ya que es completamente lo mismo que usar a sin ninguna indexación. Por ejemplo, si usa print(a[1:]), debería obtener [2, 3] como resultado -Roland Deschain 8 de junio de 2020 a las 16:22


------------------------

Simplemente reemplace"a[0,:]" con "a[0:]".

import numpy as np

a = np.array([1, 2, 3])
print(a[0:])


------------------------

Podrías resolver este problema con

a = a[np.newaxis, :]

antes de imprimir, conviértalo en una matriz de 1 x 3 en lugar de tener la forma (3,). Obviamente, esto solo tiene sentido si también necesita su declaración de impresión para otras matrices multidimensionales y desea que funcione de manera generalizada.

randomThread
Recursividad aplicada a listas versus árboles en Pythonjavascript - Cómo deshabilitar la selección desplegable condicionalmente en Vue JSPython - Cómo implementar el cambio de contraseña en Django Rest Framework sin repetir el código (principio DRY)Cómo recibir mensajes en orden ascendente por fecha de recepción en la API gráficajava: matriz con entradas aleatorias pero sin duplicados y mostrando el primer númeroexcel: aparece un error al agregar campos de valor para pivotarsed: la coincidencia de patrones de un archivo devuelve múltiples resultados iguales en bashhtml: uso de consulta de medios para ejecutar