【发布时间】:2021-08-01 14:15:46
【问题描述】:
我正在处理一个调用 Format(.vcf) 文件的变体。我正在从个体基因组数据中分离基因型等位基因,并计算患有特定疾病的机会。根据我的分析,我需要实现如下条件: 我有两个从 .vcf 文件中提取的不同熊猫数据框
- 疾病
| SNP | EfectSize | MinorAlleFrequency |
|---|---|---|
| rs05 | 0.32 | 0.09 |
| rs012 | 0.5 | 0.20 |
| rs02 | 0.8 | 0.29 |
2.个体SNP
| SNP | cola | colb |
|---|---|---|
| rs02 | 0 | 1 |
| rs03 | 1 | 1 |
| rs12 | 0 | 0 |
我的情况如下:如果数字 1.dataframe(疾病)列“SNP”与数字 2.dataframe(individualSNPs)列“SNP”匹配。然后我会从单个 SNPs 数据框 cola 和 colb 列中检查。
if( cola=0 and colb=0):
score = MinorAlleFrequency* effectSize (from datafram Diseases of matched row)
if( cola=0 and colb=1) or (cola=1 and colb=1):
score = (1 - MinorAlleFrequency)* effectSize (from datafram Diseases of matched row)
if( cola=1 and colb=0):
print("genotype unavailable")
然后分数值将保存在 CSV 文件中。
提前致谢
【问题讨论】:
-
这是多个问题,但您应该先看看
pandas.merge或DataFrame.join。
标签: python pandas dataframe conditional-statements pandas-groupby