如何根据熊猫的目标条件来填充值

时间:2020-04-20 18:22:20

标签: python pandas dataframe

我有一个数据框,其中一列只有很少的唯一值。我需要找到每个唯一值的值,并创建一个新的列名百分比,以便填写的值将基于目标变量。目标(类)的取值范围是0到9

例如:

[![Gene
Class
0
FAM58A
1
1
CBL
2
2
CBL
2
3
CBL
3
4
CBL
4][1]][1]

填写上面示例的值

for ['FAM58A'] --> Target variable is 1 and it has only one value, so its value will be 1
for ['CBL'] --> we have 3 classes, namely two 2's, one 3, and one 4
so, value for 2 will be 2/4 = 0.5
value for 3 will be 1/4 = 0.25
value for 4 will be 1/4 = 0.25

我有以下代码,但是我无法添加所有值。它将最终值添加到列表中

genes = ['SHOC2', 'TERT','CBL']
    t4 = np.zeros([262,3])
    for gene in genes:
        t1 = gene
        t2 = df[df['Gene'] == gene].groupby(['Class'])['Class'].count() / len(df[df['Gene'] == gene])
        t3 = pd.DataFrame({'Gene':t1,'Class':t2.index,'Percentage':t2.values})

我需要在此处进行哪些修改,以便获得每个基因的值,而不仅仅是“ CBL”的值

0 个答案:

没有答案