吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1184|回复: 9
收起左侧

[讨论] 请教大神python分段统计

[复制链接]
lizy169 发表于 2022-4-28 13:25
25吾爱币
有一个dataframe如下,序号为顺序流水号,单重为随机浮点数,数量为随机int:
我需要按序号列流水号来分别统计单重max
比如:分别要index:0-3对应单重的最大值,3-4对应单重的最大值,5-9对应单重的最大值,10-12对应单重的最大值,13-17对应单重的最大值
序号列最大值不固定,但每段都是从1累加开始

请教大神该如何操作?方法越多越好。
谢谢!!

index        序号        单重        数量
0        1        3.6        2
1        2        3.2        3
2        3        3.4        5
3        1        3.4        4
4        2        3.6        2
5        1        3.5        3
6        2        3.4        6
7        3        3.5        7
8        4        3.2        5
9        5        3.3        2
10        1        3.4        1
11        2        3.2        2
12        3        3.4        2
13        1        3.5        3
14        2        3.6        5
15        3        3.3        2
16        4        3.2        3
17        5        3.2        5


最佳答案

查看完整内容

这玩意还用得着越多方法越好吗?应该是越简便越好。 这里面难点其实就是分组,只要做好了分组,直接一个groupby就搞定了。 代码中的excel文件,就是楼主粘贴出来的东西。 [mw_shl_code=python,true]import pandas as pd import numpy as np fpath = r'C:%users\admin\Desktop\新建 Microsoft Excel 工作表 (3).xlsx' df = pd.read_excel(fpath) df['分组'] = np.nan df.loc[df['序号']==1, '分组'] = range(len( ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

彩色沙漠 发表于 2022-4-28 13:25
这玩意还用得着越多方法越好吗?应该是越简便越好。

这里面难点其实就是分组,只要做好了分组,直接一个groupby就搞定了。

代码中的excel文件,就是楼主粘贴出来的东西。

[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np
fpath = r'C:\Users\admin\Desktop\新建 Microsoft Excel 工作表 (3).xlsx'

df = pd.read_excel(fpath)
df['分组'] = np.nan

df.loc[df['序号']==1, '分组'] = range(len(df.loc[df['序号']==1]))
df['分组'] = df['分组'].ffill()


print(df.groupby('分组').max()['单重'])

免费评分

参与人数 2吾爱币 +1 热心值 +1 收起 理由
lizy169 + 1 谢谢@Thanks!
恭仔chen + 1 热心回复!

查看全部评分

 楼主| lizy169 发表于 2022-4-28 14:35
彩色沙漠 发表于 2022-4-28 13:25
这玩意还用得着越多方法越好吗?应该是越简便越好。

这里面难点其实就是分组,只要做好了分组,直接一个 ...

大神威武!
叫我小王叔叔 发表于 2022-4-28 15:45
彩色沙漠 发表于 2022-4-28 13:25
这玩意还用得着越多方法越好吗?应该是越简便越好。

这里面难点其实就是分组,只要做好了分组,直接一个 ...

竟然没看懂,请问只用pd可否,一定要用到np嘛?
JuncoJet 发表于 2022-4-28 16:32
彩色沙漠 发表于 2022-4-28 13:25
这玩意还用得着越多方法越好吗?应该是越简便越好。

这里面难点其实就是分组,只要做好了分组,直接一个 ...

分组好像不太对吧,最后一条数据应该出来3.6
彩色沙漠 发表于 2022-4-28 16:48
叫我小王叔叔 发表于 2022-4-28 15:45
竟然没看懂,请问只用pd可否,一定要用到np嘛?

pandas 里的nan也是np里的。
 楼主| lizy169 发表于 2022-4-28 16:50
JuncoJet 发表于 2022-4-28 16:32
分组好像不太对吧,最后一条数据应该出来3.6

我算出来没发现问题哦?
屏幕截图 2022-04-28 164847.png
gzq830510 发表于 2022-4-28 17:03
叫我小王叔叔 发表于 2022-4-28 15:45
竟然没看懂,请问只用pd可否,一定要用到np嘛?

他这里的numpy只是用来生成一个全是缺失值的列,然后定位每个分组的起点(序号=1),之后前向填充(ffill)
叫我小王叔叔 发表于 2022-4-28 19:34
gzq830510 发表于 2022-4-28 17:03
他这里的numpy只是用来生成一个全是缺失值的列,然后定位每个分组的起点(序号=1),之后前向填充(ffill ...

感谢大佬解答,学渣属性暴露无遗,我还是没看明白。我好好研究一下问题。
叫我小王叔叔 发表于 2022-4-28 19:37
彩色沙漠 发表于 2022-4-28 16:48
pandas 里的nan也是np里的。

感谢大佬解答。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 12:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表