我在学习 Python ( https://towardsdatascience.com/how-tracking-apps-analyse-your-gps-data-a-hands-on-tutorial-in-python-756d4db6715d ) 的同时正在学习本教程。
我正处于要绘制“时间”和“海拔”的步骤。但是当我这样做时:
plt.plot(df['time'], df['ele'])
plt.show()
我收到错误消息“'NoneType' 对象没有属性 'offset'”。如果我绘制“经度”和“纬度”,一切正常。 我找不到自己解决这个问题的方法。 到目前为止,这是“我的”代码:
import gpxpy
import matplotlib.pyplot as plt
import datetime
from geopy import distance
from math import sqrt, floor
import numpy as np
import pandas as pd
import chart_studio.plotly as py
import plotly.graph_objects as go
import haversine
#Import Plugins
gpx_file = open('01_Karlsruhe_Schluchsee.gpx', 'r')
gpx = gpxpy.parse(gpx_file)
data = gpx.tracks[0].segments[0].points
## Start Position
start = data[0]
## End Position
finish = data[-1]
df = pd.DataFrame(columns=['lon', 'lat', 'ele', 'time'])
for point in data:
df = df.append({'lon': point.longitude, 'lat' : point.latitude,
'ele' : point.elevation, 'time' : point.time}, ignore_index=True)
print(df)
plt.plot(df['time'], df['ele'])
plt.show()
最佳答案
从“时间”列中删除时区可能会成功。您可以使用 tz_localize
执行此操作。请注意,您必须调用方法 dt
才能访问列日期时间属性:
df['time'] = df['time'].dt.tz_localize(None)
关于python - 分析GPX数据时报错 "' NoneType'对象没有属性 'offset'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60060413/