调用已从较大数据框中重新采样并聚合的各个列

时间:2019-04-02 23:26:51

标签: python pandas aggregate resampling

我有一个很大的数据框,为了收集某个图形的一些统计数据,我对每个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?*]

我环顾四周,似乎找不到答案。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

  1. 隔离计数少于6的任何重新采样的行。

    invalid = meantime.loc[meantime['count'] < 6]

  2. 隔离均值列,并将其转换为最终列表 作为情节的叠加图。

    meanvalues = meantime['mean'].to_list()

答案 1 :(得分:0)

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

x = 1
while True:
    print "To infinity and beyond! We're getting close, on %d now!" % (x)
    x += 1