我有一个很大的数据框,为了收集某个图形的一些统计数据,我对每个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
我想为此做两件事。
删除计数少于6的任何重新采样的行。
隔离均值列,然后将其转换为列表以供最终绘图作为绘图的覆盖。
我遇到的问题仅仅是如何做这些部分。我不确定如何编写代码来做到这一点。
我已经尝试通过编写类似这样的代码来实现此目的,但是我不知道如何将重采样的列与数据框列隔离开来。
invalid = meantime['l16' *count?* ] < 6
print(meantime['l16' *mean?*]
我环顾四周,似乎找不到答案。
任何帮助将不胜感激。
答案 0 :(得分:1)
隔离计数少于6的任何重新采样的行。
invalid = meantime.loc[meantime['count'] < 6]
隔离均值列,并将其转换为最终列表 作为情节的叠加图。
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