调用已从较大数据帧重新采样和聚合的各个列

问题描述 投票:0回答:2

我有一个大型数据帧,为了收集一些数字的统计数据,我已经重新采样了每个6小时的数据,然后通过平均数和计数汇总了这些数据。

这样做的代码。

meantime = df.set_index('datetime').resample('6h').agg(['mean', 'count'])

print(meantime['l16'])

注意我只重新采样数据帧的一列(l16),这就是我想要的。

结果:

                          mean  count
datetime                             
2019-02-03 00:00:00   1.322222      9
2019-02-03 06:00:00   5.733333     12
2019-02-03 12:00:00   6.258333     12
2019-02-03 18:00:00   2.325000     12

我想用这个做两件事。

  1. 删除计数小于6的任何重新采样的行。
  2. 隔离平均列,并将其转换为列表,以便最终绘制为绘图上的叠加层。

我遇到的问题只是如何做这些部分。我不知道如何编写代码来执行此操作。

我试过写这样的东西,但我不知道如何将重采样列与数据帧列隔离。

invalid = meantime['l16' *count?* ] < 6
print(meantime['l16' *mean?*]

我环顾四周,似乎无法找到我的问题。

任何帮助,将不胜感激。

python pandas aggregate resampling
2个回答
1
投票
  1. 隔离计数小于6的任何重新采样的行。 invalid = meantime.loc[meantime['count'] < 6]
  2. 隔离平均列,并将其转换为列表,以便最终绘制为绘图上的叠加层。 meanvalues = meantime['mean'].to_list()

0
投票

如果您只想接收6个重采样数据,那么您应该使用for循环,如下所示:

x = 1
while True:
    print "To infinity and beyond! We're getting close, on %d now!" % (x)
    x += 1
© www.soinside.com 2019 - 2024. All rights reserved.