【发布时间】:2020-06-18 13:55:58
【问题描述】:
我正在尝试习惯在 Pandas 中使用日期时间数据并为给定数据集绘制不同的比较。我正在使用London Air Quality Ozone 数据集进行练习,并尝试使用 Pandas 和 matplotlib 复制下面的图表(我使用 Excel 中的数据透视表创建的)。
该图表绘制了整个数据集中每个位置每小时臭氧读数的平均值,以查看是否有一个位置始终高于其他位置,或者不同位置在一天中的不同时期是否具有最高的臭氧水平。
基本上,我希望绘制每个位置的臭氧小时平均值。
我尝试将数据重塑为多索引格式,然后进行绘图,类似于我在绘图之前在 excel 中所做的,但我不确定这是否是解决问题的正确方法。重塑代码如下。我仍然习惯于重塑,所以不确定这是否是正确的使用/我正在以正确的方式解决问题并接受其他方法来完成这项任务。任何帮助完成这项任务将不胜感激!
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
data = pd.read_csv('/Users/xx/Downloads/LaqnData.csv')
data['ReadingDateTime'] = pd.to_datetime(data['ReadingDateTime'])
data['Date'] = pd.to_datetime(data['ReadingDateTime']).dt.date
data['Time'] = pd.to_datetime(data['ReadingDateTime']).dt.time
data.set_index(['Date', 'Time'], inplace = True)
hourly_dataframe = data.pivot_table(columns = 'Site', values = 'Value', index = ['Date', 'Time'])
hourly_dataframe.fillna(method = 'ffill', inplace = True)
hourly_dataframe[hourly_dataframe < 0] = 0
【问题讨论】:
标签: python-3.x pandas datetime matplotlib