Error de valor de matriz de Python

Zeeshan Afridi 21 junio 2023
  1. Resuelva el ValueError: solo se aceptan 2 argumentos que no son palabras clave en Python
  2. Resolver el ValueError: configurar un elemento de matriz con una secuencia
  3. Tipo de datos predeterminado coincidente de matriz y valores
Error de valor de matriz de Python

Un Error de valor en Python ocurre cuando una función obtiene un argumento del tipo correcto, pero el valor del tipo es incorrecto. Otro error ocurre cuando la matriz NumPy tiene más de un elemento, lo que provoca el error.

Este artículo discutirá el error de sintaxis y cómo solucionarlo.

Resuelva el ValueError: solo se aceptan 2 argumentos que no son palabras clave en Python

En el siguiente ejemplo, la matriz NumPy es bidimensional, pero luego también la mezclamos en una matriz unidimensional. Python reconoce esto como una forma no homogénea, lo que indica que la estructura de la matriz fluctúa y, por lo tanto, Python genera un error de valor.

Ejemplo de código:

import numpy as np

print(np.array([1, "English"], [2, "Spanish"], [3, "German"], dtype=object))

Producción :

ValueError: only 2 non-keyword arguments accepted

La matriz debe tener elementos idénticos para resolver este error creando la matriz con las mismas dimensiones.

Ejemplo de código:

import numpy as np

print(np.array([[1, "English"], [2, "Spanish"], [3, "German"]], dtype=object))

Producción :

[[1 'English']
[2 'Spanish']
[3 'German']]

Resolver el ValueError: configurar un elemento de matriz con una secuencia

La creación de matrices multidimensionales utilizando la biblioteca NumPy a veces encuentra un ValueError. Ocurre cuando se configura un elemento de matriz con un error de secuencia.

Ejemplo de código:

import numpy

arrayeven = [2, 4, 6, [8, [10, 12]]]
np_array = numpy.array(arrayeven, dtype=int)

Producción :

ValueError: setting an array element with a sequence

Podemos usar un tipo de datos que admita todos los tipos de datos (un tipo de datos común) para resolver este error. En el siguiente ejemplo, hemos usado dtype=object en lugar de dtype=int.

Ejemplo de código:

import numpy

arrayeven = [2, 4, 6, [8, [10, 12]]]
np_array = numpy.array(arrayeven, dtype=object)
print(np_array)

Producción :

[2 4 6 list([8, [10, 12]])]

Tipo de datos predeterminado coincidente de matriz y valores

En el siguiente ejemplo, el error ocurre debido a la asignación de una matriz como elemento de una matriz que acepta datos de cadena.

Ejemplo de código:

import numpy

array = ["meeting", "the", "is", "at", "10pm"]
newarray = numpy.array(array, dtype=str)
newarray[1] = ["the", "meeting", "is", "at", "10pm"]
print(newarray)

Producción :

ValueError: setting an array element with a sequence

Podemos resolver este error haciendo coincidir los tipos de datos del valor y la matriz. Podemos corregir este problema y asignar el valor como un elemento de matriz.

Ejemplo de código:

import numpy

array = ["meeting", "the", "is", "at", "10pm"]
newarray = numpy.array(array, dtype=str)
Variable = ["the", "meeting", "is", "at", "10pm"]
if newarray.dtype == type(Variable):
    newarray[1] = Variable
else:
    print(" Type of value and newarray is not same ")
print(newarray)

Producción :

Type of value and newarray is not same
['meeting' 'the' 'is' 'at' '10pm']

Usando la biblioteca NumPy, a veces encontramos Errores de valor. Ocurre cuando una función puede pasar el tipo de argumento correcto, pero el valor de ese tipo es incorrecto.

Podemos corregir el Error de valor de matriz utilizando los métodos mencionados anteriormente.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Python Error