我有,其中,列6和7是GPS位置的形式爲.txt數據:轉換器,用於蟒熊貓
50;18.5701400N,4;07.7693770E
當我通過read_csv讀它,我嘗試通過使用轉換器將其轉換爲笛卡爾座標。我寫的功能轉換
convertFunc = lambda x : float((x[0:5]+x[6:12]).replace(';','.'))
convert = {6:convertFunc,7:convertFunc}
當我使用它在單值它的工作原理我怎麼想:
convertFunc(myData.Lat[1])
Out [159]: 55.187110250000003
當我嘗試在read_csv使用它,它不工作
myData = DataFrame(read_csv('~/data.txt', sep=',' names=['A', 'B', 'C', 'D', 'E', 'Lat', 'Long'],converters=convert))
我有一個錯誤:
...
convertFunc = lambda x : float((x[0:5] + x[6:12]).replace(';', '.'))
ValueError: invalid literal for float(): DGPS ongitu
我不知道它在哪裏出錯或者我在轉換器中誤解了什麼? 或者,也許任何人都知道以這種形式使用GPS數據的好方法(包)?
(我認爲這可能是有些問題lambda
當我想要我的功能應用到專欄中,我有一個錯誤:TypeError: only length-1 arrays can be converted to Python scalars
)
它看起來像你試圖轉換*標題行* ...嘗試離開'names =',以便'read_csv'從標題行獲取列名稱。 – nneonneo
感謝您的回覆。我刪除了'names =',但它不會改變,具有相同的錯誤。 – tomasz74
嗯,試試'skiprows = 1'?也許發佈你的'data.txt'的樣本,以清楚問題是什麼。 – nneonneo