UPDATE :은 코멘트에서 제안 @root, 그것은 np.repeat(0, len(df))
에 의해 그룹에 더 쉽고 우아한 것 :
In [5]: df.groupby(np.repeat(0, len(df))).agg({'A':'sum', 'B':'mean', 'C':'min'})
Out[5]:
B A C
0 42.9 484 21
OLD 답 :
당신이 숫자를 가지고 있다고 가정을 항상 >= 0
입니다 인덱스 :
In [139]: df.groupby(df.index >= 0, as_index=False).agg({'A':'sum', 'B':'mean', 'C':'min'})
Out[139]:
A B C
0 484 42.9 21
또는 인덱스가없는 가정 어떤 NaN
의
In [140]: df.groupby(df.index==df.index, as_index=False).agg({'A':'sum', 'B':'mean', 'C':'min'})
Out[140]:
A B C
0 484 42.9 21
색인가 NaN의 사용 다음 트릭을 할 수있는 경우
:
In [160]: df.groupby(pd.notnull(df.index) | pd.isnull(df.index), as_index=False).agg({'A':'sum', 'B':'mean', 'C':'min'})
Out[160]:
A B C
0 484 42.9 21
데이터 :
In [138]: df
Out[138]:
A B C
0 34 45 68
1 71 62 61
2 39 51 33
3 38 62 27
4 16 39 21
5 94 41 41
6 14 11 41
7 76 40 29
8 44 34 70
9 58 44 68
당신은 할 수 없습니다 인덱스에 대해 걱정할 필요없이'np.repeat (1, len (df))'또는 이와 동등한 목록 이해력으로 그룹화하면됩니까? – root
@ 뿌리, 좋은 캐치, 고마워요! – MaxU
문제는 없지만 답을 보지 않고서는 생각하지 못했을 것입니다! 좀 더 생각해 보면'np.repeat (0, len (df))'가 약간 더 좋을 것이므로 결과 인덱스는'1' 대신에'0'이므로 일반적인 규칙과 일관성이 있습니다. – root