python - 分析GPX数据时报错 "' NoneType'对象没有属性 'offset'”

标签 python pandas matplotlib graph gpx

我在学习 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()

Picture of my dataframe

最佳答案

从“时间”列中删除时区可能会成功。您可以使用 tz_localize 执行此操作。请注意,您必须调用方法 dt 才能访问列日期时间属性:

df['time'] = df['time'].dt.tz_localize(None)

关于python - 分析GPX数据时报错 "' NoneType'对象没有属性 'offset'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60060413/

相关文章:

python - 使用梯度下降算法进行线性回归,得到意想不到的结果

python - 从python中的文本中找到并提取一段包含关键字的字符串

Python Seaborn 群图闪避顺序

python - 检查 NaT 或 pandas 时间戳

python - 在图形的边缘绘制曲线

python - TypeError : issubclass() arg 1 must be a class, 虽然我很确定 arg 1 是一个类

python - 应用多种功能的 PANDAS Group By

pandas - 从带有日期的 Spark 数据帧转换为 Pandas 数据帧时出错

python - %matplotlib 内联 : 'NoneType' object has no attribute 'is_interactive'

python - Matplotlib散点图未能显示所有图例(有些图例丢失)