【问题标题】:numpy: query a data from masked record?numpy:从屏蔽记录中查询数据?
【发布时间】:2011-04-21 04:29:23
【问题描述】:

我有这样的面具记录

In [41]: x
Out[41]: 
masked_records(
      CHR : [12 12 12 ..., 12 12 12]
      SNP : [rs4980929 rs4980929 rs4980929 ..., rs7975069 rs7975069 rs7975069]
       A1 : [C C C ..., T T T]
       A2 : [T T T ..., C C C]
     TEST : [GENO TREND ALLELIC ..., ALLELIC DOM REC]
      AFF : [51/126/92 228/310 228/310 ..., 190/350 158/112 32/238]
    UNAFF : [51/136/83 238/302 238/302 ..., 180/362 148/123 32/239]
    CHISQ : [0.8427 0.3124 0.3155 ..., 0.4688 0.8398 0.000248]
       DF : [2 1 1 ..., 1 1 1]
        P : [0.6562 0.5762 0.5744 ..., 0.4935 0.3594 0.9874]
    fill_value : (999999, 'N/A', 'N', 'N', 'N/A', 'N/A', 'N/A', 1e+20, 999999, 1e+20)

如何从 P where TEST == 'GENO' 获得价值?如果这有帮助,“P”字段缺少值。

【问题讨论】:

    标签: python numpy ipython recarray


    【解决方案1】:

    应该像x['P'][x['TEST'] == 'GENO']一样简单

    例如

    import numpy as np
    
    # Make some fake data:
    x = np.zeros(10, dtype={'names':['P', 'TEST'], 'formats':[np.int, '|S5']})
    x['P'] = np.arange(10)
    x['TEST'] = ['GENO', 'TREND', 'ALLEL', 'DOM', 'REC', 
                 'GENO', 'TREND', 'DOM', 'ALLEL', 'REC']
    
    # Get values in field "P" where field "TEST" == "GENO":
    print x['P'][x['TEST'] == 'GENO']
    

    【讨论】:

    • 哇,谢谢.. 这看起来和 R 很像。我在 .where/select/choose 函数上浪费时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2021-03-31
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多