我已經在這裏提出了幾個關於同一主題的問題,但我真的不想讓我正在研究的教授失望。這是我第一次使用Python,而且我可能已經有點頭痛了。Python noob:操縱數組
反正,我被送到一個文件的讀取,並能使用該命令:
SNdata = numpy.genfromtxt('...', dtype=None,
usecols (0,6,7,8,9,19,24,29,31,33,34,37,39,40,41,42,43,44),
names ['sn','off1','dir1','off2','dir2','type','gal','dist',
'htype','d1','d2','pa','ai','b','berr','b0','k','kerr'])
sn
只是一個特定超新星的名稱的數組; type
是一個超新星類型的陣列(Ia或II)等。
我需要做的第一件事情之一是簡單地計算給定SN類型(Ia或II)的某些特性的概率。
例如,列htype
是星系的形態(作爲整數1給出=橢圓至8 =不規則)。我需要計算給定TypeIa的橢圓和給定TypeII的橢圓的概率,對於所有的整數可以達到8.
對於橢圓,我知道我只需要將htype = 1 and type = Ia
除以元素總數爲type = Ia
。然後將具有htype = 1 and type = II
的元素的數量除以具有type = II
的元素的總數。
我只是不知道如何爲此編寫代碼。我打算先找到每種類型的總數,然後運行一個for循環來查找具有特定htype
的元素數type
(Ia或II)。
任何人都可以幫助我開始呢?如果需要澄清,請告訴我。
非常感謝。
查看http://pandas.pydata.org/庫。從長遠來看它會幫助你。如果您可以包含一些示例數據,那麼閱讀您的問題的人會很有幫助。你可以簡化這個問題,把它簡化成只是你問的那些列,然後把其餘的東西添加到你自己的代碼中,一旦你弄清楚了事情...... – YXD