Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在一个线性代码中实现期望输出?_Python_Pandas - Fatal编程技术网

Python 如何在一个线性代码中实现期望输出?

Python 如何在一个线性代码中实现期望输出?,python,pandas,Python,Pandas,我有下面给出的数据帧,我想在一个线性代码中实现输出。我的代码也随附 df : -totscrd_n_r FRANK SCORE 1 0.748180912 2 0.288977296 3 0.233826294 4 0.199272093 5 0.175346525 1 0.162129932 2 0.152657008 3 0.144826844 4 0.136572409 5

我有下面给出的数据帧,我想在一个线性代码中实现输出。我的代码也随附

df : -totscrd_n_r
FRANK   SCORE
1       0.748180912
2       0.288977296
3       0.233826294
4       0.199272093
5       0.175346525
1       0.162129932
2       0.152657008
3       0.144826844
4       0.136572409
5       0.122732783
1       0.288984226
2       0.233826364
3       0.199273169
4       0.175346964
5       0.162130909
1       0.152657357
2       0.144827363
3       0.136572485
4       0.12273334
5       0.050275945

output : - TEMP3_10GRP
FRANK   HIGH        LOW
1       0.748180912 0.152657357
2       0.288977296 0.144827363
3       0.233826294 0.136572485
4       0.199272093 0.12273334
5       0.175346525 0.050275945

my code:- 
TEMP3_10GRPH = pd.DataFrame(totscrd_n_r.groupby(['FRANK'])['SCORE'].max().reset_index())
TEMP3_10GRPH.rename(columns = {'SCORE':'HIGH'}, inplace = True)
TEMP3_10GRPL = pd.DataFrame(totscrd_n_r.groupby(['FRANK'])['SCORE'].min().reset_index())
TEMP3_10GRPL.rename(columns = {'SCORE':'LOW'}, inplace = True)

TEMP3_10GRP = pd.merge(TEMP3_10GRPH, TEMP3_10GRPL, left_on='FRANK', right_on='FRANK', how = 'left')

TEMP3_10GRP
我能用更短的方法实现这一点吗


提前感谢

Groupby有一个专门用于此的方法
.agg()
.aggregate()

df.groupby().agg(['max', 'min'])

正如@指出的,您可以使用
.agg

>>> import pandas as pd
>>> ...
>>> df
    FRANK     SCORE
0       1  0.748181
1       2  0.288977
2       3  0.233826
3       4  0.199272
4       5  0.175347
5       1  0.162130
6       2  0.152657
7       3  0.144827
8       4  0.136572
9       5  0.122733
10      1  0.288984
11      2  0.233826
12      3  0.199273
13      4  0.175347
14      5  0.162131
15      1  0.152657
16      2  0.144827
17      3  0.136572
18      4  0.122733
19      5  0.050276
>>> df.groupby('FRANK').agg(High=pd.NamedAgg(column="SCORE", aggfunc="max"), Low=pd.NamedAgg(column="SCORE", aggfunc="min"))
           High       Low
FRANK                    
1      0.748181  0.152657
2      0.288977  0.144827
3      0.233826  0.136572
4      0.199272  0.122733
5      0.175347  0.050276
>>> 

检查
agg
totscrd\u n\u r.groupby(['FRANK'])['SCORE'])。agg(['min','max'])
使用。