How do I enable the REFS_OK flag in nditer in numpy in Python 3.3?

flags, numpy, python-3.x, ref

Solution

I have isolated the problem. There is no need to use np.nditer. The main problem was with me misinterpreting how Python would read iterator variables in a for loop. The corrected code is below.

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]))

Problem

Does anyone know how one goes about enabling the REFS_OK flag in numpy? I cannot seem to find a clear explanation online. My code is: ``` 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)) ``` I keep getting the error message: Iterator operand or requested dtype holds references, but the REFS_OK was not enabled. I cannot work out how to enable the REFS_OK flag so the program can continue...

Original source