lizy169 发表于 2022-4-28 13:25

请教大神python分段统计

有一个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


彩色沙漠 发表于 2022-4-28 13:25

这玩意还用得着越多方法越好吗?应该是越简便越好。

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

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

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==1, '分组'] = range(len(df.loc==1]))
df['分组'] = df['分组'].ffill()


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

lizy169 发表于 2022-4-28 14:35

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

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

大神威武!:victory:

叫我小王叔叔 发表于 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
我算出来没发现问题哦?

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里的。

感谢大佬解答。
页: [1]
查看完整版本: 请教大神python分段统计