我正试图用python中熊猫的数据(化学物质和蛋白质之间的分数)创建一个数据帧。在
我希望我的数据框首先显示出现频率最高的蛋白质,所以我之前对数据进行了排序。但是当我制作数据帧时,它并没有得到预期的结果。在
以下是我的数据示例:
chemicals prots scores
CID000000006 10116.ENSRNOP00000003921 196
CID000000051 10116.ENSRNOP00000003921 246
CID000000085 10116.ENSRNOP00000003921 196
CID000000119 10116.ENSRNOP00000003921 247
CID000000134 10116.ENSRNOP00000008952 159
CID000000135 10116.ENSRNOP00000008952 157
CID000000174 10116.ENSRNOP00000008952 439
CID000000175 10116.ENSRNOP00000001021 858
CID000000177 10116.ENSRNOP00000004027 760
如你所见,“10116.ENSRNOP00000003921”是我数据中出现最多的蛋白质。在
所以我想买一些类似的东西:
^{pr2}$我的代码是:
import pandas as pd
df_rat= pd.read_csv("dt_matrix_rat.csv",sep="\t", header=True)
df_rat.columns = ['chemicals','proteins','scores']
df_rat1 = df_rat.pivot(index='chemicals', columns='proteins', values='scores')
df_rat1.to_csv("rat_matrix.csv", sep='\t', index=True )
您可以使用@jezrael的解决方案,也可以这样做(非常类似):
准备好正确的订单
^{pr2}$准备排序列的列表(对于旧版本的panda)使用}:
.sort()
而不是{以正确的顺序透视和设置列:
我想您需要^{} of ^{} 的^{} ,然后得到{}的索引。拉丝使用
subset
:或^{} :
^{pr2}$相关问题 更多 >
编程相关推荐