我有一个源自df.groupby().size()
操作的数据帧,如下所示:
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
我要做的是计算单独的出现次数(即最后一列来自.size()
)占适用Localization
中出现次数总数的百分比。
例如:在cytoplasm
定位(7+13+8+6+8+2+6)中共有50次出现,分别产生14%和26%的Non-expressed
和Very low
RNA水平。
有什么好办法吗?我一直在用一种我认为非常迂回的方式来讨论这个问题,即为每一个Localization
创建一个新的数据帧,然后从那里开始工作,但是有很多行,最后必须合并所有生成的数据帧。我希望至少有一个更聪明的方法来做这件事!
下面是基于pandas^{} ,^{} 函数的完整示例。
基本思想是基于
'Localization'
对数据进行分组,并在组上应用函数。相关问题 更多 >
编程相关推荐