统计一周中的每个位置的NO2平均浓度
df.groupby(
[air_quality["datetime"].dt.weekday, "location"])["value"].mean()
此处‘datetime’是datetime数据类型。此处datetime数据中有完整年月日时分秒。
还记得统计计算教程中groupby提供的split-apply-combine模式吗?这里,我们要计算每个工作日和每个测量位置的给定统计数据(例如平均值)。为了在工作日分组,我们使用pandas Timestamp的datetime属性weekday(周一=0,周日=6),dt访问器也可以访问该属性。可以对位置和工作日进行分组,以分割这些组合中每个组合的平均值计算。
一天中每小时的平均值是多少
air_quality.groupby(air_quality["datetime"].dt.hour)["value"].mean()
但这个会有问题,必须保证air_quality['datetime']只有一天数据。看另一篇blog就知道为啥的= =
[https://blog.csdn.net/weixin_46035550/article/details/120290166?spm=1001.2014.3001.5501](https://blog.csdn.net/weixin_46035550/article/details/120290166?spm=1001.2014.3001.5501)
画图代码
fig, axs = plt.subplots(figsize=(12, 4))
air_quality.groupby(air_quality["datetime"].dt.hour)["value"].mean().plot(
kind='bar', rot=0, ax=axs
)
Out[15]: <AxesSubplot:xlabel='datetime'>
plt.xlabel("Hour of the day"); # custom x label using matplotlib
plt.ylabel("$NO_2 (µg/m^3)$");
来源:
pandas官网
How to handle time series data with ease?
就一句代码,把好多事儿给干了。很奈斯!之前用pandas都是分开统计的。
不过还是想吐槽一下,pandas细节太多了啊啊啊啊啊。
接着找。。。