我已经在这里就同一主题提出了一些问题,但我真的很努力不让我正在研究的教授失望。这是我第一次使用 Python,我可能有点过头了。
无论如何,我收到了一个要读取的文件,并且能够使用以下命令:
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)的元素的数量。
有人可以帮我开始吗?如果需要任何澄清,请告诉我。
非常感谢。