• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapisanie pół obiektu jako wektor w celu dalszego przetwarzania.

Object Storage Arubacloud
0 głosów
78 wizyt
pytanie zadane 15 marca 2017 w Python przez sh1nen Obywatel (1,570 p.)

Witam, w czasie pisania programu w pythonie, napotkałem na problem zawarty w temacie, Moim zadaniem jest policzenie odleglosci Czybyszewa w przestrzeni czterowymiarowej, w tym celu utworzyłem sobie listę w której mam punkty i chciałbym policzyć poszczególne odległości pomiędzy danym punktem a obiektem z listy, który posiada 5 atrybutów z czego tylko 4 są kluczowe do obliczeń, poniżej kod dla klasy Iris:

class Iris:
    def __init__(self, sLen, sWid, pLen, pWid, kind):
        self.sepalLen = sLen
        self.sepalWid = sWid
        self.petalLen = pLen
        self.petalWid = pWid
        self.kind = kind

# Iris container

listOfFlowers = []

 

Poniżej funkcja odpowiedzialna za liczenie odległości, iris to przekazywany kontener z irysami, natomiast moim problemem jest jak przekształcić poszczególne pola odpowiadające długościom i szerokościom w wektor, gdyż funkcja distance.chybyshev jako parametry przyjmuję właśnie wektory:

Computes the Chebyshev distance between two 1-D arrays u and v, which is defined as

Parameters:	
u : (N,) array_like
Input vector.
v : (N,) array_like
Input vector.

Czyli jak rozumiem by użyć tej funkcji muszę posiadać wektory:

a = (1, 2, 3, 4)

b = (1, 2, 3, 4)

dist = distance.chebyshev(a, b)

Punkt jest reprezentowany jako :

points = [[], [], []]

a wywolanie chcialbym aby wygladalo

distance_chybyshev(points[1], listOfFlowers, 1) 

Pytanie jedynie jak przedstawić poszczególne 4 pola kolejnych obiektów w kontenerze jako wektory.

def distance_chebyshev(point, iris, stage):
    iris = Iris()
    total = 100
    for obj in iris:
        value = distance.chebyshev(point, obj)
        if value < total:
            total = value
            iris = obj
        else:
            continue
    return iris

Kod powyżej to szkic, niestety nie wiem jak rozwiązać ten problem. Z góry dzięki za jakiekolwiek naprowadzenie na właściwy tor .

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 474 wizyt
0 głosów
1 odpowiedź 636 wizyt
0 głosów
0 odpowiedzi 283 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...