2016-07-18 9 views
1

可能であれば、助言や助けを得ることを望んでいました。これは私の初めてのコーディングプロジェクトです。もし私の質問があまりにも曖昧すぎたり、私の最後に何か他のことが必要なら私に教えてください。Excelから座標を読み込んで比較する

エクセルシートには2つの異なる座標(x、y)が格納されています。私が最初にやるべきことは、これらを(x、y)座標として読み取ってその近さを判断できるコードを書くことです。相続人

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

両方のファイルのポイントのすべての組み合わせ(つまり、file1のfirst_poin、point2、...、last_pointのすべてのポイント)のハイポを計算しますか? – MaxU

答えて

4

スタータ用の最も簡単な方法は、に次のようになります。

1.Calculateテーブル全体のためのxとyの違い:

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をこれに変更しましたか?確かそれはうまくいかないでしょう、今は単なるファイルストリームであり、パンダのデータフレームではありません。パンダにロールバックして、すべてが魅力的に機能するはずです! –

+0

私はその調整を試み、問題を持って再び蹴った。上記の編集をもう一度行いました。助けと忍耐をありがとう! –

関連する問題