我正在運行此代碼 10 次。每次運行后,我想創建一個檔案夾n,其中n是運行的編號,并將帶有檔案名的資料保存Inv_Radius_220_47_53ND.csv在該檔案夾中。例如,第一次運行后,1創建檔案夾,然后Inv_Radius_220_47_53ND.csv保存。然后在第二次運行后,2創建檔案夾并 Inv_Radius_220_47_53ND.csv保存在此檔案夾中。僅供參考,所有檔案夾的檔案名應該相同,只有檔案夾名稱不同。
def function():
from scipy.stats import truncnorm
import numpy as np
import csv
a, b = 47.0,53.0
Nodes=12 #reshape into
r = (1e-6)*np.linspace(truncnorm.ppf(0.001, a, b),truncnorm.ppf(1.0, a, b), Nodes)
print("r =",[r])
sort_r = np.sort(r);
r1=sort_r[::-1]
print("r1 =",[r1])
#print("r =",[r])
r1=r1.reshape(1,Nodes)
print("r1 shape =",[r1])
r2 = r.copy()
np.random.shuffle(r2.ravel()[1:])
print("r2 =",[r2])
r2=r2.reshape(1,Nodes)
print("r2 =",[r2]) #actual radius values in mu(m)
maximum = r2.max()
indice1 = np.where(r2 == maximum)
# minimmum = r2.min()
# indice2 = np.where(r2 == minimum)
r2[indice1] = r2[0][0]
r2[0][0] = maximum
#print(r2)
r2[0][Nodes-1] = maximum # 0.01*maximum
#print(r2)
print("r2 with max at (0,0)=",[r2])
with open('Inv_Radius_220_47_53ND.csv', 'w ') as f:
inv_r=1/r2
print("inv_r =",[inv_r])
writer = csv.writer(f)
writer.writerows(inv_r)
mean=np.mean(r)
print("Mean =",mean)
var=np.var(r)
print("var =",var)
std=np.std(r)
print("std =",std)
for x in range(10):
function()
uj5u.com熱心網友回復:
我截斷了對問題不重要的部分,但這就是你要找的嗎?
import os
from scipy.stats import truncnorm
import numpy as np
import csv
def function(run):
...
# Create the folder with the number of the run as name
# Add 1 to run so the first run is 1 and not 0
parent_folder = str(run 1)
os.mkdir(parent_folder)
# Join the parent folder with the filepath: 0/Inv_Radius_220_47_53ND.csv
with open(os.path.join(parent_folder, 'Inv_Radius_220_47_53ND.csv'), 'w ') as f:
inv_r = 1 / r2
print("inv_r =", [inv_r])
writer = csv.writer(f)
writer.writerows(inv_r)
...
for x in range(10):
function(x)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507377.html
上一篇:在單個子圖中繪制每列
下一篇:如何用指定值替換資料框中的負值?
