2017-02-06 4 views
2

인덱스를 기반으로하는 열의 최대 값을 추출하려고합니다. 나는이 시리즈가 :Pandas series 인덱스를 기반으로하는 열의 최대 값

Hour Values 
    1  0 
    1  3 
    1  1 
    2  0 
    2  5 
    2  4 
    ... 
    23 3 
    23 4 
    23 2 
    24 1 
    24 9 
    24 2 

및 인덱스 (시간)에 따라 각 값에 대한 '가치'컬럼의 최대해야합니다 새 열 '최대 값', 추가 찾고 있어요 :

Hour Values Max Value 
    1  0  3 
    1  3  3 
    1  1  3 
    2  0  5 
    2  5  5 
    2  4  5 
    ... 
    23 3  4 
    23 4  4 
    23 2  4 
    24 1  9 
    24 9  9 
    24 2  9 

저는 이것을 Excel에서 할 수 있지만 팬더를 처음 사용합니다. 내가 온 가장 가까운까지 내가 가지고 같다이 마구 노력,하지만 난 '='1 일에 구문 오류 :

df['Max Value'] = 0 
df['Max Value'][(df['Hour'] =1)] = df['Value'].max() 

답변

5

사용 transform('max') 방법 :

In [61]: df['Max Value'] = df.groupby('Hour')['Values'].transform('max') 

In [62]: df 
Out[62]: 
    Hour Values Max Value 
0  1  0   3 
1  1  3   3 
2  1  1   3 
3  2  0   5 
4  2  5   5 
5  2  4   5 
6  23  3   4 
7  23  4   4 
8  23  2   4 
9  24  1   9 
10 24  9   9 
11 24  2   9 
관련 문제