我只是對數據縮減有個簡單的問題。我有大約1500個文件,我想刪除那些不符合特定標準的文件。Reduce將數據集設置爲包含僅具有某些特徵的文件
基本上我正在擬合gaussians數據集,它給了我一個平均值和一個全寬半最大值。我只想選擇曲線的平均值大約爲+/- 1500且半高寬度小於5000的文件。
我打算使用if條件,但它比我更難首先想到。
我有什麼至今:
if FWHM <= 5000 and (-1600 <= mean <= -1500):
return (send data to plotting function)
elif FWHM <= 5000 and (1500 <= mean <= 1600):
return (send data to plotting function)
else:
os.remove(os.path.join(path, f))
這似乎並不奏效,我認爲它可能不是非此即彼的最佳途徑。
任何提示?非常感激。
編輯:對不起,我應該澄清。我想要的文件包含的範圍在-1600到-1500或1500到1600之間。稍後的想法是將這些文件疊加在一起,並確定它們是否是鏡像對立的。對困惑感到抱歉。
是什麼「似乎並不奏效」的意思,到底是什麼?代碼看起來非常簡單,而且它確實按照你的要求做了一個很好的選擇;-) –
它似乎只是將所有內容發送到繪圖功能,然後刪除它,無論它是否符合標準。 – Jayden
嗯。你在這裏發佈的代碼不會那樣做。沒門。事實上,雖然它可以被簡化一點,但是你發佈的代碼應該幾乎完全符合你所說的你希望它做的事情(例如,你說「全寬半峯值小於5000」,但是代碼使用'<='而不是'< - 完全不重要)。 –