繁体   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