首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用已从更大的dataframe重放和聚合的单个列。

调用已从更大的dataframe重放和聚合的单个列。
EN

Stack Overflow用户
提问于 2019-04-02 23:26:50
回答 2查看 58关注 0票数 0

我有一个大的数据,为了为一个数字收集一些统计数据,我重新计算了每6个小时的数据,然后根据平均数和计数对数据进行汇总。

这样做的代码。

代码语言:javascript
复制
meantime = df.set_index('datetime').resample('6h').agg(['mean', 'count'])

print(meantime['l16'])

注意,我只重采样了一个列(l16)的dataframe,这就是我想要的。

结果:

代码语言:javascript
复制
                          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. 隔离平均列,并将其转化为最终绘图的列表,作为绘图图上的一个覆盖。

我遇到的问题仅仅是如何完成这些部分。我不知道该怎么写代码才能做到这一点。

我试图这样做,但我不知道如何将重放列与dataframe列隔离开来。

代码语言:javascript
复制
invalid = meantime['l16' *count?* ] < 6
print(meantime['l16' *mean?*]

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

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-03 07:42:58

  1. 用小于6的计数隔离任何重放行。 invalid = meantime.loc[meantime['count'] < 6]
  2. 隔离平均列,并将其转化为最终绘图的列表,作为绘图图上的一个覆盖。 meanvalues = meantime['mean'].to_list()
票数 1
EN

Stack Overflow用户

发布于 2019-04-02 23:40:50

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

代码语言:javascript
复制
x = 1
while True:
    print "To infinity and beyond! We're getting close, on %d now!" % (x)
    x += 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55484870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档