【问题标题】:Plot mean and std. dev. at specific hourly ticks using Pandas绘制均值和标准。开发。使用 Pandas 在特定的每小时刻度
【发布时间】:2014-08-06 11:35:03
【问题描述】:

我有一个如下格式的 Pandas DataFrame:

                       Ozone  CellT  CellP  FlowRate
Date/Time
10/06/14 15:49:57   40.4   32.6  978.6      2297
10/06/14 15:54:57   44.0   32.7  978.6      2267
10/06/14 15:59:57   44.7   32.8  978.6      2249
10/06/14 16:04:57   45.0   32.9  978.6      2262
10/06/14 16:09:57   45.0   32.9  978.6      2286

我想将其绘制为臭氧读数与时间戳的每小时平均值,加上/减去标准偏差。

当我当前读取当前臭氧时,x 轴(时间戳)上有一个任意时间戳,例如“10/06/14 15:49:57”。我想在 12:00:00 的不同日子有每个 x 轴刻度线。

如何继续绘制过去一小时的平均值,以及每天 12:00:00 的时间戳?

编辑: 以下适用于每小时计算平均值和标准差。我现在要做的是填充值并用正确的刻度线绘制它们。

df['OzoneHourlyMean'] = df.Ozone.resample('H', how='mean')
df['OzoneHourlyStd'] = df.Ozone.resample('H', how='std')

上面的命令产生以下格式的数据:

2014-06-10 15:00:00    43.033333
2014-06-10 16:00:00    44.291667
2014-06-10 17:00:00    44.691667
2014-06-10 18:00:00    45.175000
2014-06-10 19:00:00    44.433333

【问题讨论】:

  • “标准差的叠加”是什么意思
  • 抱歉不清楚。我的意思是显示平均值 +/- std。
  • 您希望将标准差显示为垂直误差线吗?
  • 是的,没错。

标签: python matplotlib plot pandas


【解决方案1】:

对此,我认为这是已编辑问题中剩下的内容

如何继续绘制过去一小时的平均值,以及每天 12:00:00 的时间戳?

我认为您要做的就是在每天中午设置刻度线。您可以生成自己的刻度列表,然后使用它们。与 pandas 的交互可能会弄乱 xticks,所以我可能会直接使用 matplotlib。对你来说,是这样的吗?

tickv = pd.date_range('10/06/2014 12:00:00', periods=5, freq = 'D')
plt.plot(df.index, df['OzoneHourlyMean'])
plt.xticks(tickv)

【讨论】:

    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2016-01-14
    • 2016-09-29
    • 1970-01-01
    • 2014-08-28
    • 2020-12-09
    相关资源
    最近更新 更多