按熊猫的计数、平均值、Q1、Q2、Q3 和标准差分组



我有一个数据框,如下所示

ID     Sector    Year            Usage   Rent       
1      SE1       2017            R       100            
2      SE1       2017            C       120            
3      SE1       2017            R       150            
4      SE1       2017            R       110            
5      SE1       2017            C       200            
6      SE1       2018            R       100            
7      SE1       2018            R       120            
8      SE1       2018            R       100            
9      SE1       2018            C       100            
10     SE1       2018            C       100  
1      SE2       2017            R       100            
2      SE2       2017            C       120            
3      SE2       2017            R       150            
4      SE2       2017            R       110            
5      SE2       2017            C       200            
6      SE2       2018            R       100            
7      SE2       2018            R       120            
8      SE2       2018            R       100            
9      SE2       2018            C       100            
10     SE2       2018            C       100 
11     SE2       2018            C       100           

从上面的数据框中,我想准备下面的数据框

预期输出

Sector     Year     Usage     N_of_contract      Mean_Rent    Q1   Q2   Q3   Std
SE1        2017     R         3
SE1        2017     C         2
SE1        2018     R
SE1        2018     C
SE2        2017     R         
SE2        2017     C         
SE2        2018     R
SE2        2018     C

其中 N_of_contract = 这种组合发生的次数,只是计数

Mean_Rent = 此类组合的平均租金

Q1 = Q1 租金等

标准 = 租金的标准偏差。

注意:我没有编写的某些列的值,因为我无法计算该列。

GroupBy.describeDataFrame.drop一起使用:

new_df = (df.groupby(['Sector','Year','Usage'])['Rent']
.describe()
.drop(columns = ['min','max'])
.reset_index()
)
print(new_df)
Sector  Year Usage  count        mean        std    25%    50%    75%
0    SE1  2017     C    2.0  160.000000  56.568542  140.0  160.0  180.0
1    SE1  2017     R    3.0  120.000000  26.457513  105.0  110.0  130.0
2    SE1  2018     C    2.0  100.000000   0.000000  100.0  100.0  100.0
3    SE1  2018     R    3.0  106.666667  11.547005  100.0  100.0  110.0
4    SE2  2017     C    2.0  160.000000  56.568542  140.0  160.0  180.0
5    SE2  2017     R    3.0  120.000000  26.457513  105.0  110.0  130.0
6    SE2  2018     C    3.0  100.000000   0.000000  100.0  100.0  100.0
7    SE2  2018     R    3.0  106.666667  11.547005  100.0  100.0  110.0

最新更新