У меня есть пять массивов: Xdataknown, Ydataknown, Xdataposs, Ydataposs, KnownItems. Массивы «dataknown» - это местоположения x и y, где захоронен известный предмет. KnownItems - это список скрытых предметов. «Dataposs» - это предположения местоположений x и y, где похоронены KnownItems. В настоящее время моя функция вычисляет смещение известных данных и возможных данных, и если это смещение меньше 0,25 (произвольное расстояние), Xdataknown, Ydataknown, Xdataposs, Ydataposs, KnownItems на этой итерации сохраняются в новых массивах и возвращаются.
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
После запуска этой функции я сохраняю все данные в словарь:
df = pd.DataFrame({"items": items, "knownX" : known_X,"knownY" : known_Y, "PossibleX" :
possX, "PossibleY" : possY, "Offset": Offset})
Используя этот словарь, я хотел бы найти повторяющиеся местоположения известного X и данные известны и сохраняют только повторное местоположение, имеющее минимальное смещение между повторяющимися данными известной X / известной и данными possX / возможной.
Например, если я знал X = 5 и знал Y = 6, possX = 5.1, possY = 6.1, а также известен X = 5 и известен Y = 6, possX = 5.2, possY = 6.2 Я хотел бы только сохраните известные X = 5 и известные Y = 6, возможно X = 5,1, возможно Y = 6,1 точек, поскольку они имеют меньшее смещение между ними.
Я включил как созданный мной словарь, так и свою функцию на случай, если это проще реализовать в той или иной форме. Я пытался импортировать функцию дубликатов в массивы, которые получил после использования своей функции, но не знал, как применить ее по всем направлениям и удалить ненужные элементы. Вот почему я создал словарь, потому что думал, что его будет проще реализовать в одном, но я просто недостаточно знаком с программированием / словарями, чтобы самому реализовать его из своего поиска в Google.