簡體   English   中英

Pandas系列基於索引的列的最大值

[英]Pandas series Max value for column based on index

我試圖基於索引提取列的最大值。 我有這個系列:

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

並希望添加一個新列“ Max Value”,該列將基於索引(小時)為每個值提供“ Values”列中的最大值:

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()

使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM