2017-02-06 23 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で行うことができますが、パンダには新しいです。私が来た最も近い限り、私が持っているようであるこのチクチク努力、ですが、私は最初の「=」の構文エラーを取得:

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 
関連する問題