1
私はpythonのデータフレームで、データフレーム内の場所とLATITUDE
とLONGITUDE
列の距離を計算しています。私は以下のコードを実行すると、エラーがない:Pythonのデータフレームの列の関数の計算結果
lLat= 43.679194
lLon= -79.633352
LCentroid= (lLat, lLon)
# getDistanceBetween gets two centroids and calculate the distance
dfTowers['distance']= HL.getDistanceBetween(LCentroid, dfTowers.index.get_level_values('LATITUDE')[0], dfTowers.index.get_level_values('LONGITUDE')[0]))
が、私は以下のいずれかを使用する場合、エラー
lLat= 43.679194
lLon= -79.633352
LCentroid= (lLat, lLon)
dfTowers['distance']= HL.getDistanceBetween(LCentroid, dfTowers.index.get_level_values('LATITUDE'), dfTowers.index.get_level_values('LONGITUDE')))
があり、エラーがある:
TypeError Traceback (most recent call last)
<ipython-input-43-065640ee0e20> in <module>()
5
6 dfTowers['distance']= HL.getDistanceBetween(LCentroid, (dfTowers.index.get_level_values('LATITUDE'),
----> 7 dfTowers.index.get_level_values('LONGITUDE')))
C:\Users\x190523\Documents\python exercice\HomeLocation.pyc in getDistanceBetween(c1, c2)
TypeError: a float is required
上記の構文frのいずれかを必要としません。注意: 'dfTowers'は' group by'を使って生成されます。 – user3854325
最初の例でコードを使用すれば、すべてがうまくいくと思いました。あなたは、最初の例が働いたことを確認することができました。あなたが働いていることをもっと私たちに見せてくれますか?最初の例では – nbui
であり、 'distance'カラムの値は最初の行の' latitude'と 'longitude'を使って計算されます。しかし、私は、対応する行の「緯度」と「経度」の値に基づいて各行の「距離」を計算したいと思います。単純なデータフレームと同様にグループを使用して作成したデータフレームの結果にアクセスできるかどうかは、問題が解決されると思います。しかし、私は方法がわかりません。 – user3854325