Nur Werte speichern, wenn ihre Offset das Minimum aller ihrer Vergleiche ist

stimmen
0

Ich habe fünf Arrays: Xdataknown, Ydataknown, Xdataposs, Ydataposs, KnownItems. Die „dataknown“ Arrays sind die x- und y-Orte, wo ein bekanntes Element begraben ist. KnownItems ist eine Liste der vergrabene Gegenstände. Die „dataposs“ sind die Vermutungen der x- und y-Orte, an denen die KnownItems begraben sind. Derzeit meine Funktion der von den bekannten Daten-Offset berechnet und die möglichen Daten und, wenn das Offset kleiner als 0,25 ist (ein willkürlicher Abstand) der Xdataknown, Ydataknown, Xdataposs, Ydataposs, KnownItems an, dass Iteration neue Arrays gespeichert werden und zurückgeführt.

def GetOffsets(Xdataknown, Ydataknown, Xdataposs, Ydataposs, KnownItems):
    knownY = []
    knownX = []
    possY = []
    possX = []
    items = []
    offset = []
    for j in range(0,len(Xdataposs)):
        for k in range(0,len(Xdataknown)):
            if ((Ydataknown[k] - Ydataposs[j])**2 + (Xdataknown[k] Xdataposs[j])**2)**(1/2) <= 0.25:
                knownY = np.append(knownY, Ydataknown[k])
                knownX = np.append(knownX, Xdataknown[k])
                possY = np.append(conY, Ydataposs[j])
                possX = np.append(conX, Xdataposs[j])
                items = np.append(items, KnownItems[k])
                offset_calc = ((Ydataknown[k] - Ydataposs[j])**2 + (Xdataknown[k] - Xdataposs[j])**2)**(1/2)
                offset = np.append(offset, offset_calc)

    return knownY, knownX, possY, possX, offset, items

Nachdem ich diese Funktion ausführen, speichern ich alle Daten in ein Wörterbuch:


df = pd.DataFrame({items: items, knownX : known_X,knownY : known_Y, PossibleX : 
                             possX, PossibleY : possY, Offset: Offset})

Mit diesem Wörterbuch, würde Ich mag für Wiederholungs Standorte der knownX und knownY Daten suchen und nur speichert die wiederholte Position, die das Minimum zwischen den wiederholten knownX / knownY Daten und den possX / Possy Daten versetzt hat.

Zum Beispiel, wenn ich knownX = 5 und knownY = 6, possX = 5,1, Possy = 6.1 sowie knownX = 5 und knownY = 6, possX = 5,2, Possy = 6,2 I save the knownX = 5 nur möchte und knownY = 6, possX = 5,1, Possy = 6,1 Punkte wie sie haben die kleineren zwischen ihnen gegenüber.

Ich habe enthalten sowohl das Wörterbuch Ich habe auch meine Funktion in Fall ist es einfacher, diese in einer oder anderen Form zu implementieren. Ich habe versucht, die Duplikate zu den Arrays funktionieren importieren Ich habe nach meiner Funktion, war aber nicht sicher, wie es auf der ganzen Linie und Entfernen von Elementen anwenden wollte ich nicht. Deshalb habe ich ein Wörterbuch erstellt, weil ich dachte, es wäre einfacher, in einer zu implementieren, aber ich bin einfach nicht vertraut genug mit der Programmierung / Wörterbücher es mich meiner Google-Suche zu implementieren aus. Auch hier bin ich super neu bitte mit Dingen wie diese so freundlich zu arbeiten. Vielen Dank!

Veröffentlicht am 19/03/2020 um 21:52
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more