2016-07-18 9 views
1

Ich hatte gehofft, wenn möglich einen Rat oder Hilfe zu bekommen. Dies ist mein erstes Coding-Projekt. Wenn meine Fragen zu vage sind oder etwas anderes an meinem Ende funktionieren sollte, lass es mich wissen.Koordinaten aus Excel lesen und vergleichen

Ich habe zwei verschiedene (x, y) Koordinaten in einem Excel-Blatt gespeichert. Als erstes muss ich einen Code schreiben, der diese als (x, y) -Koordinaten lesen und dann ihre Nähe bestimmen kann.

Heres, wo ich bin:

import math 
import pandas 
file1 = pandas.read_excel('Book1.xlsx') 
file2 = pandas.read_excel('\Book2.xlsx') 
# reads various text files and prints them into PyCharm 
file1['x_diff'] = file2['x'] - file1['x'] 
file1['y_diff'] = file2['y'] - file1['y'] 
dist = file1.apply(lambda row: math.hypot(row['x_diff'], row['y_diff']), axis=1) 
print dist 
print file2.head() 
print file1.head() 

Heres das Ergebnis! Nur ein paar schnelle letzte Fragen hier.

0 4.472136 
dtype: float64 
    x y 
0 12 -3 
    x y x_diff y_diff 
0 8 -5  4  2 

Wieder würde alles, was mich in die richtige Richtung lenken könnte, sehr geschätzt werden. Prost!

+0

Sie importieren wieder Pandas in der 4. Zeile Ihres Codes. Sie können ein Modul immer wieder verwenden, nachdem Sie es einmal importiert haben. – dmlicht

+0

Danke, dass ich behoben –

+0

willst du den Hypot zwischen allen Kombinationen von Punkten aus beiden Dateien berechnen (d. H. Alle Punkte von file1 mit first_poin, point2, ..., last_point von file2)? – MaxU

Antwort

4

wäre der einfachste Weg für einen Starter sein:

1.Calculate der Unterschied in der x und y für die gesamte Tabelle:

table1['x_diff'] = table2['x'] - table1['x'] 
table1['y_diff'] = table2['y'] - table1['y'] 

2.Apply Ihre Funktion auf die neuen Spalten:

Jetzt enthält Ihre dist Variable die Entfernung, die Sie analysieren können.

+0

Awesome Dank so viel, ich habe diese Anpassungen und es scheint vielversprechend, aber ich habe immer noch ein Problem scheint es. Ich habe die Änderungen für den obigen Code und die resultierende Fehlermeldung gepostet. –

+0

@JustinT Warum hast du pandas pandas.read_excel zu diesem öffnen geändert? Sicher, das würde nicht funktionieren, da es jetzt nur ein Dateistrom und kein Pandas-Datenrahmen ist. Rollback zu den Pandas lesen und alles sollte wie ein Zauber wirken! –

+0

Ich habe versucht, diese Einstellung zu machen und wurde wieder mit einem Problem zurückgestoßen. Machte die Änderungen erneut oben. Danke für Hilfe und Geduld! –