我正在使用 python 開發實時 LoRa gps 繪圖儀。我通過串行從 LoRa 獲取 gps 位置資料并將它們保存到 csv 檔案。它正在作業,但是當我因為 LoRa 信號不良而損壞 gps 資料時遇到了問題。像這樣
45.830008,16.039911
45.830mdndn008,16.039911
45.830008,16.039oo9°1
45.830008,16.03991
45.830sj008,16.03#=991
在python中從csv檔案中讀取數字資料的方法是什么?我不想讀取損壞的資料。我只想讀取整數。我正在使用熊貓來讀取 csv 檔案。像這樣
data = pd.read_csv(self.data_path, names=['LATITUDE', 'LONGITUDE'], sep=',')
gps_data = tuple(zip(data['LATITUDE'].values, data['LONGITUDE'].values))
uj5u.com熱心網友回復:
to_numeric()如果您想保留可以與 結合使用的數值errors = 'coerce'。然后無效值將設定為NaN,請參見此處to_numeric
import pandas as pd
#read csv
data = pd.read_csv(self.data_path, names=['LATITUDE', 'LONGITUDE'], sep=',')
# copy dataframe structure only, no data
gps_data = pd.DataFrame(columns=data.columns)
# copy valid values only
gps_data['LATITUDE'] = pd.to_numeric(data['LATITUDE'], errors='coerce')
gps_data['LONGITUDE'] = pd.to_numeric(data['LONGITUDE'], errors='coerce')
print (data)
print (gps_data)
# drop rows with NaNs in lat OR long
gps_data = gps_data.dropna(subset=['LATITUDE', 'LONGITUDE']) # OR
#gps_data = gps_data.dropna(subset=['LATITUDE', 'LONGITUDE'], thresh=2) # AND threshold = 2
編輯:您可能還想洗掉具有空NaN值的行
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428818.html
