как заполнить значение на основе целевого условия в pandas - PullRequest
1 голос
/ 20 апреля 2020

У меня есть 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'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...