Pandas: .groupby().size() und Prozentsätze

Ich habe einen DataFrame, der stammt aus einem df.groupby().size() Betrieb, und sieht wie folgt aus:

Localization                           RNA level      
cytoplasm                              1 Non-expressed     7
                                       2 Very low         13
                                       3 Low               8
                                       4 Medium            6
                                       5 Moderate          8
                                       6 High              2
                                       7 Very high         6
cytoplasm & nucleus                    1 Non-expressed     5
                                       2 Very low          8
                                       3 Low               2
                                       4 Medium           10
                                       5 Moderate         16
                                       6 High              6
                                       7 Very high         5
cytoplasm & nucleus & plasma membrane  1 Non-expressed     6
                                       2 Very low          3
                                       3 Low               3
                                       4 Medium            7
                                       5 Moderate          8
                                       6 High              4
                                       7 Very high         1

Was ich will zu tun ist, um die Berechnung der getrennten vorkommen (d.h. die Letzte Spalte aus .size()) als Prozentsatz der Gesamtanzahl der vorkommen in den geltenden Localization.

Zum Beispiel: es gibt insgesamt 50 vorkommen in der cytoplasm Lokalisierung (7 + 13 + 8 + 6 + 8 + 2 + 6), nachgeben, 14 und 26 % für die Non-expressed und Very low RNA-levels, respectively.

Ist es ein schöner Weg, dies zu tun? Ich habe schon darüber mit, was ich denke, ist ein sehr Umweg, D. H. einen neuen DataFrame für jeden Localization und arbeiten von dort aus, aber es gibt eine Menge von Linien und das problem, dass Sie alle verbinden die daraus resultierenden DataFrames in die Ende. Ich hoffe, es gibt eine intelligentere Art und Weise, es zu tun, mindestens!

InformationsquelleAutor erikfas | 2014-05-13
Schreibe einen Kommentar