有谁知道如何在numpy中启用REFS_OK标志?我似乎无法在网上找到明确的解释.
我的代码是:
import sys
import string
import numpy as np
import pandas as pd
SNP_df = pd.read_csv('SNPs.txt',sep='\t',index_col = None ,header = None,nrows = 101)
output = open('100 SNPs.fa','a')
for i in SNP_df:
data = SNP_df[i]
data = np.array(data)
for j in np.nditer(data):
if j == 0:
output.write(("\n>%s\n")%(str(data(j))))
else:
output.write(data(j))
我一直收到错误消息:Iterator操作数或请求的dtype保存引用,但REFS_OK未启用.
我无法弄清楚如何启用REFS_OK标志,以便程序可以继续……
最佳答案 我已经解决了这个问题.没有必要使用np.nditer.主要问题是我误解了Python如何在for循环中读取迭代器变量.更正后的代码如下.
import sys
import string
import fileinput
import numpy as np
SNP_df = pd.read_csv('datafile.txt',sep='\t',index_col = None ,header = None,nrows = 5000)
output = open('outputFile.fa','a')
for i in range(1,51):
data = SNP_df[i]
data = np.array(data)
for j in range(0,1):
output.write(("\n>%s\n")%(str(data[j])))
for k in range(1,len(data)):
output.write(str(data[k]))