To fix this, you can open the file in append mode (‘a’) and then use np.savetxt to write to that file.

import numpy as np
from scipy.stats.stats import pearsonr


list = ['01', '02','03','04','05','06','07','08','09','10']
month='NOV2016'


# Open the file in append mode
with open('result.dat', 'a') as f:
    for date in list:


        path='D:/Match-Nov2016/24-match-ground-imsra-0.25/'
        data=np.loadtxt(path+'3DIMG_'+date+month+'_DAILY.dat')
        lats=data[:,0]
        lons=data[:,1]
        ground=data[:,2]
        model=data[:,5]


        bias=np.mean(model-ground)
        rms=np.sqrt(np.mean((ground-model)**2))
        std=np.std(ground-model)
        corr=pearsonr(ground,model)
        corr=corr[0]


        bias=np.round(bias,2)
        rms=np.round(rms,2)
        std=np.round(std,2)
        corr=np.round(corr,2)


        stat=np.zeros((np.size(bias),4))


        stat[:,0]=np.reshape(bias,(np.size(bias)))
        stat[:,1]=np.reshape(rms,(np.size(rms)))
        stat[:,2]=np.reshape(std,(np.size(std)))
        stat[:,3]=np.reshape(corr,(np.size(corr)))


        print(stat)
       
        # Use np.savetxt to write to the file
        np.savetxt(f, stat, fmt='%9.2f')

 

Support On Demand!

Python