将列拆分为多个列或在pandas中分隔“表”

时间:2017-07-14 09:28:00

标签: python pandas sorting split multiple-columns

我对python很新,并且对我正在做的事情没有多少线索。我有一系列数据描述了不同人的表现('Leistung')('Leistungserbringer')。每个表演也与特定价值('Taxpunke')相关联。我想展示每个人的前10名表演,由表演的价值来定义。

byleistung = df.groupby('Leistungserbringer') 
df2 = byleistung['Taxpunkte'].describe()
df2.sort_values(['mean'], ascending=[False])

                count   mean        std         min     25%     50%     75%     max
Leistungserbringer      
Larsson William 6188.0  99.799108   231.765598  2.50    15.81   31.61   111.71  3909.72
Karlsson Oliwer 5645.0  93.344057   277.989424  3.61    15.81   31.61   94.83   9122.68
McGregor Sean   1250.0  89.100800   136.175528  3.61    18.35   34.78   111.71  998.64
Groeneveld Arno 4045.0  84.859498   202.230230  1.93    15.81   31.61   63.23   3323.52
Heepe Simon     3776.0  82.662950   359.970010  3.61    15.81   31.61   50.47   13597.60
Bitar Wahib     7814.0  72.190337   142.399537  3.61    15.81   31.61   61.75   3634.15
Cox James       4746.0  72.036013   132.240942  2.50    15.81   31.61   50.65   1664.40
Carvalho Tomas  7415.0  60.868030   156.889297  2.86    15.81   15.81   41.50   2099.20

'计数'是特定人员的表现量。这些人总共有330种不同的表演。举个例子:

byleistung = df.groupby('Leistung') 
byleistung['Taxpktwert'].describe()

                                           count    unique  top     freq
Leistung                
'(+) %-Zuschlag für Notfall B, '              2       1     KVG     2
'+ Bronchoalveoläre Lavage (BAL)'             1       1     KVG     1
'+ Bürstenabstrich bei Bronchoskopie'         8       1     KVG     8
'+ Endobronchialer Ultraschall mit Punktion'  1       1     KVG     1
'XOLAIR Trockensub 150 mg c Solv Durchstf'    109     1     KVG     109

我的DataFrame看起来像这样(有40,000多行):

df.head()

Leistungserbringer  Anzahl  Leistung    AL      TL  Taxpktwert  Taxpunkte
0   Groeneveld Arno     12  'Beratung'  147.28  87.47   KVG     234.75
1   Groeneveld Arno     12  'Konsilium' 147.28  87.47   KVG     234.75
2   Groeneveld Arno     12  'Ultra'     147.28  87.47   KVG     234.75
3   Groeneveld Arno     12  'O2-Druck'  147.28  87.47   KVG     234.75
4   Groeneveld Arno     12  'Funktion'  147.28  87.47   KVG     234.75

我希望我的每个人都能看到这样的结果。排名应基于每个绩效计数('Anzahl')*值('Taxpunkte')的乘积:

Leistungserbringer    Leistung  Anzahl  Taxpunkte   Total Taxpkt    
Larsson William       1         x        a           x*a
                      2         y        b           y*b
                      .
                      .
                      10        z        c           z*c
...

McGregor Sean         1         x        a           x*a
                      2         y        b           y*b
                      .
                      .
                      10        z        c           z*b

非常感谢任何方法的提示或建议。

0 个答案:

没有答案