首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python numpy模拟奇怪地不起作用

Python numpy模拟奇怪地不起作用
EN

Stack Overflow用户
提问于 2021-06-08 19:22:59
回答 1查看 37关注 0票数 0

我有这段代码,但不知何故它并不像我想要的那样工作。基本上我读取.geno文件,从possib读取我想要保留的百分比,其他的我想要的是9。第一轮是完美的,但第二轮是错误的,就像它将数字逗号一样,但我每次循环都在数组中读取,所以我不明白为什么它不能工作。在此链接中有用于测试的.ind和.geno文件。

https://drive.google.com/drive/folders/15VqGbVib41a4bDSVuPiqy_hkcCGK7H4H?usp=sharing

代码语言:javascript
代码运行次数:0
运行
复制
import pandas as pd
import numpy as np
from time import process_time
import random
from argparse import ArgumentParser

ind = pd.read_csv("test_bckg100.ind", delimiter=r"\s+", header=None)
ind.columns = ['ID', 'Sex', 'Pop']
sample_size = [1] * len(ind)
sample_list = list(ind['ID'])
# make a list for all p values
possib = [0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55, 0.5, 0.45, 0.4, 0.35, 0.3, 0.25, 0.2, 0.15, 0.1, 0.05]

t1_start = process_time()
geno = pd.read_fwf("test_bckg100.geno", widths=sample_size, header=None, dtype=np.uint8)
geno_arr = geno.to_numpy(dtype=np.uint8)
# geno_arr[0,:] oszlopok
# geno_arr[:,0] sorok
for p in possib:
    random.seed(1)
    needed_nine = round(len(geno_arr[:, 0]) * (1 - p))
    geno_temp = geno.to_numpy(dtype=np.uint8)
    for b in range(0,len(sample_list)):
        index = np.random.choice(np.arange(geno_temp.shape[0]), needed_nine, replace=False)
        geno_temp[index,b] = 9
    test_geno_arr = geno_temp[:, 0]
    good_pos = np.where(test_geno_arr == 9)
    print(needed_nine)
    print(len(good_pos[0]))
    #with open("BACKGROUND" + "_1_" + str(int(p*100))+".geno", 'w') as fout:
    #np.savetxt(fout, geno_temp, delimiter="", fmt='%d')

t1_stop = process_time()
print("Finished genotype files: ", t1_stop - t1_start)
EN

回答 1

Stack Overflow用户

发布于 2021-06-09 17:19:20

解决方案是改变

代码语言:javascript
代码运行次数:0
运行
复制
geno_temp = geno.to_numpy(dtype=np.uint8)

代码语言:javascript
代码运行次数:0
运行
复制
geno_temp = np.copy(geno_arr)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67886020

复制
相关文章

相似问题

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