加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在pd.DateFrame中查找每5行的最大值

发布时间:2020-12-20 12:13:23 所属栏目:Python 来源:网络整理
导读:我有一些间隔1分钟的营销数据. 作为csv-table的示例,每行代表每分钟的最大值: time ch1 ch2 ch3 ch4 20:03 1754 539 149 1337 20:04 2073 576 160 1448 20:05 2246 599 176 1515 20:06 2246 637 176 1531 20:07 2457 651 183 1549 20:08 2564 677 184 1655
我有一些间隔1分钟的营销数据.
作为csv-table的示例,每行代表每分钟的最大值:

time    ch1     ch2 ch3 ch4      
20:03   1754    539 149 1337     
20:04   2073    576 160 1448     
20:05   2246    599 176 1515     
20:06   2246    637 176 1531     
20:07   2457    651 183 1549     
20:08   2564    677 184 1655     
20:09   2624    712 191 1699     
20:10   2742    717 194 1672     
20:11   2788    714 199 1675     
20:12   2792    693 186 1680     
20:13   2914    708 188 1672     
20:14   3067    715 194 1685     
20:15   3067    725 196 1682

另外,我需要找到每5分钟的最大值.因此,我需要找到每列5行(或更少 – 如果没有剩余行数)的最大值,并将其插入新的5分钟行.

我希望收到的(例如):

每个新行必须代表5的最大值

time    ch1     ch2 ch3 ch4     
20:03   2564    677 184 1655     
20:08   2914    717 199 1699     
20:13   3067    725 196 1685

老实说,我已经搜索但没有结果.

Python中有一些优雅的解决方案可以完成我的任务吗?
谢谢您帮忙!

解决方法

g = df.groupby(np.arange(len(df)) // 5)
g.max().assign(time=g.time.first())

    time   ch1  ch2  ch3   ch4   ch5
0  20:03  2457  651  183  1549  4840
1  20:08  2792  717  199  1699  5376
2  20:13  3067  725  196  1685  5670

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读