Python - comparación y selección de datos en vectores python

 
Vista:
sin imagen de perfil

comparación y selección de datos en vectores python

Publicado por nmi (1 intervención) el 07/07/2023 14:43:34
Hola.

Tengo dos vectores (de longitudes diferentes) que necesito comparar entre si. Es decir, coger el primer valor del vector1 y compararlo con todos los valores del vector2 (así sucesivamente con todos los valores del vector1) de tal forma que obtenga un tercer vector con las posiciones correspondientes a los valores más similares al comparar los vectores 1 y 2. Y por último, este tercer vector debe tener la misma longitud que el vector1.

Mi nivel de programación en python es de iniciación y muy básico..
He conseguido hacer esta comparación pero el vector3 que obtengo no tiene el mismo len que el vector1 y obtengo los valores, no las posiciones de estos.
Abajo está el trozo del código donde realizo la comparación etc.

Alguna idea de como conseguir lo que realmente necesito?

Gracias :)

intersection = []
for n1 in lon:
for n2 in lonB:
if n1.flat[np.abs(n1-n2).argmin()] not in intersection:
intersection.append(n1)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

comparación y selección de datos en vectores python

Publicado por Francisco Javier (313 intervenciones) el 09/07/2023 10:54:23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import numpy as np
 
n1 = [1, 3, 5, 7]
n2 = [2, 4, 6, 8]
 
intersection = []
 
for num in n1:
    if num in n2 and num not in intersection:
        intersection.append(num)
    else:
        intersection.append(0)
 
while len(intersection) < len(n1):
    intersection.append(0)
 
print(intersection)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

comparación y selección de datos en vectores python

Publicado por Francisco Javier (313 intervenciones) el 09/07/2023 12:02:00
mas optimizado...
1
2
3
4
5
6
7
8
n1 = [1, 3, 5, 7]
n2 = [2, 4, 6, 8]
 
intersection = list(set(n1) & set(n2))
 
intersection.extend([0] * (len(n1) - len(intersection)))
 
print(intersection)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar