2016-07-18 1 views
1

Я надеялся получить совет или помощь, если это возможно. Это мой первый проект по кодированию, поэтому, если мои вопросы слишком расплывчаты или если что-то еще нужно работать на моем конце, пожалуйста, дайте мне знать.Чтение и сравнение координат из Excel

У меня есть две разные (x, y) координаты, хранящиеся на листе excel. Первое, что мне нужно сделать, это написать код, который может читать их в виде (x, y) координат, а затем определить их близость.

Heres где я нахожусь:

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 результатом! Всего несколько быстрых последних вопросов.

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

Снова все, что могло бы меня направить в правильном направлении, было бы весьма полезно. Ура!

+0

Вы импортируете панды снова в 4-й строке своего кода. Вы можете продолжать использовать модуль снова и снова после его импорта один раз. – dmlicht

+0

Спасибо, я исправил, что –

+0

вы хотите вычислить гипотезу между всеми комбинациями точек из обоих файлов (т. Е. Все точки из файла1 с first_poin, point2, ..., last_point из файла2)? – MaxU

ответ

4

Самый простой способ для стартера будет:

1.Calculate разность по х и у для всей таблицы:

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

2.Apply ваша функция для новых столбцов:

dist = table1.apply(lambda row: math.hypot(row['x_diff'], row['y_diff']), axis=1) 

Теперь ваша переменная dist содержит расстояние, которое вы можете проанализировать.

+0

Огромное спасибо, что я сделал эти корректировки, и это кажется многообещающим, но у меня все еще есть проблема. Я опубликовал изменения для кода выше и результирующего сообщения об ошибке. –

+0

@JustinT почему вы изменили pandas pandas.read_excel на это открытие? Конечно, это не сработает, так как теперь это всего лишь поток файлов, а не кадр данных pandas. Откат к пандам читайте, и все должно работать как шарм! –

+0

Я попытался сделать эту настройку и снова получил ответ с вопросом. Сделал изменения выше. Спасибо за помощь и терпение! –

 Смежные вопросы

  • Нет связанных вопросов^_^