首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算熊猫的价值?

如何计算熊猫的价值?
EN

Stack Overflow用户
提问于 2016-06-28 19:14:45
回答 1查看 79关注 0票数 0

如果我说不通的话,我很抱歉,英语不是我的母语,我只有一周的时间接触巨蟒和熊猫。

因此,我有一个非常长的转录因子数据框架( TF )和一长串必要的基因列表,到目前为止我所做的是确定一个由TF调控的基因是否是一个必需的基因。如下所示:

代码语言:javascript
复制
In:
df2 = regulon.copy()
lista_genes = (genes['Esenciales'].values.tolist())
df2['Esencialidad'] = (pd.DataFrame(regulon['Target'].isin(lista_genes)))
df2[['Esencialidad']] = df2[['Esencialidad']].astype(str)
df2.ix[df2.Esencialidad == 'True' , 'Esencialidad'] = 'Esencial'
df2.ix[df2.Esencialidad == 'False' , 'Esencialidad'] = 'No esencial'
df2.to_excel("salida2.xlsx", index = False)
df2
Out:
    TF    Target    Regulation  Score   Esencialidad
0   AccB    accB          -     null    Esencial
1   AccB    accC          -     null    Esencial
2   AcrR    acrA          -     Weak    No esencial
3   AcrR    acrB          -     Weak    No esencial
4   AcrR    acrR          -     Weak    No esencial
5   AcrR    marA          -     Strong  No esencial
6   AcrR    marB          -     Strong  No esencial
7   AcrR    marR          -     Strong  No esencial
8   AcrR    micF          -     Weak    No esencial
9   AcrR    soxR          -     Strong  No esencial
10  AcrR    soxS          -     Strong  No esencial
11  Ada     alkB          -     Strong  No esencial
12  Ada     alkB          +     Strong  No esencial

我做的下一件事就是确定有多少基因受到TF的调控。如下所示:

代码语言:javascript
复制
In: 
genes_regulados = regulon['TF'].value_counts()
TF = pd.DataFrame(genes_regulados)
TF.reset_index(inplace=True)
TF.rename(columns={'index': 'TF', 'TF': 'Genes_regulados'}, inplace=True)
TF = TF.sort_values('TF').reset_index(drop=True)
TF['Esenciales'] = (pd.DataFrame(regulon['Target'].isin(lista_genes)))
TF
Out:

    TF  Genes_Regulados
0   AccB    2
1   AcrR    9
2   Ada     6
3   AdiY    8
4   AgaR    11
5   AidB    1
6   AlaS    1
7   AllR    9

我现在要做的是,在一个新的专栏中,确定在给定的TF中,有多少调控基因是必需的,而在另一栏中,有多少是非必需的。

我需要你的帮助。我被困住了,我不知道该怎么做。

我正在寻找的输出是这样的:

代码语言:javascript
复制
TF  Genes Regulados Esenciales  No Esenciales
AcrR         4         0           4           
Ada          6         0           6          
AdiY         8         0           8             
AgaR        11         0          11          
AidB         1         0           1    
AlaS         1         1           0    
AllR         9         0           9    
AllS         3         0           3    
AlsR         6         0           6    
AppY        10         0          10    
AraC        19         6          13    

更新

多亏了JBr,我得到了我所需要的东西。现在,我想知道是否有一种方法可以使它变得更加复杂,得到有多少个基本基因有正调控,有多少个基本基因对给定的TF和。

我正在寻找的输出是这样的:

代码语言:javascript
复制
TF  Genes_regulados Esenciales  No Esenciales Esenciales_positivos Esenciales_negativos
AcrR         4         0           4                   0                   0
Ada          6         0           6                   0                   0
AdiY         8         0           8                   0                   0
AgaR        11         0          11                   0                   0
AidB         1         0           1                   0                   0
AlaS         1         1           0                   0                   1
AllR         9         0           9                   0                   0
AllS         3         0           3                   0                   0
AlsR         6         0           6                   0                   0
AppY        10         0          10                   0                   0
AraC        19         6          13                   4                   2

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 21:55:19

apply是你的朋友

代码语言:javascript
复制
def count_tfs_essential(tf_val, df2, esencial_val):
    '''returns count of rows in df2 having specific tf_val and esencial_val'''
    df2_con_tf_val = df2[(df2["TF"] == tf_val)]
    df2_con_tf_val_y_essencial = df2_con_tf_val[df2_con_tf_val["Esencialidad"] == esencial_val]

    count = len(df2_con_tf_val_y_essencial.index)

    return count

TF["Esenciales"] = TF["TF"].apply(lambda tf_val: count_tfs_essential (tf_val, df2, "Esencial"))
TF["No Esenciales"] = TF["TF"].apply(lambda tf_val: count_tfs_essential (tf_val, df2, "No esencial"))

*所需df:*

代码语言:javascript
复制
     TF  Genes_Regulados  Esenciales  No Esenciales
0  AccB                2           2              0
1  AcrR                9           0              9
2   Ada                6           0              2
3  AdiY                8           0              0
4  AgaR               11           0              0
5  AidB                1           0              0
6  Alas                1           0              0
7  AllR                9           0              0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38084504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档