熊猫Groupby按条件

时间:2020-02-28 12:38:34

标签: python pandas group-by

说我有一个df:

df=pd.DataFrame(columns=['a','b','c','d'], data=[[2, 1,1, 3],
                                                 [4, 2,3, 7],
                                                 [2, 4,7, 9],
                                                 [3, 2,9, 11],
                                                 [4, 3,11,15],
                                                 [5, 5,15,20],
                                                 [10,3,20,30]])

我有一个值数组(由'c'的一些值组成,但可以是任意长度)

cuts=[3,11]

有没有一种方法可以按“ c”分组,分为3组,所以在

首先是值'c'<3,

2nd有值3 <='c'<11,

3rd的值是'c'> 11吗?

然后.apply('a':'sum','b':'max','d':'max')

一种方法是先做一个字典,然后将map df ['c']应用于地图。但是我不知道是否可以使用groupby(更快)来做到这一点。

0 个答案:

没有答案