- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经在这里问了几个关于同一主题的问题,但我真的不想让与我一起做研究的教授失望。这是我第一次使用 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 和 type = Ia
的元素数除以 type = Ia
的元素总数.然后用 htype = 1 和 type = II
的元素数除以 type = II
的元素总数。
我只是不知道如何为此编写代码。我计划首先找到每种类型的总数,然后运行一个 for 循环来查找具有特定 htype
的元素的数量,给定它们的 type
(Ia 或 II ).
谁能帮我开始做这件事?如果需要任何说明,请告诉我。
非常感谢。
最佳答案
Numpy 支持 bool 数组运算,这将使您的代码编写起来相当简单。例如,您可以这样做:
htype_sums = {}
for htype_number in xrange(1,9):
htype_mask = SNdata.htype == htype_number
Ia_mask = SNdata.type == 'Ia'
II_mask = SNdata.type == 'II'
Ia_sum = (htype_mask & Ia_mask).sum() / Ia_mask.sum()
II_sum = (htype_mask & II_mask).sum() / II_mask.sum()
htype_sums[htype_number] = (Ia_sum, II_sum)
每个 _mask
变量都是 bool 数组,因此当您对它们求和时,您计算的是 True
的元素数。
关于Python 新手 : manipulating arrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19759210/
我一直在研究这段代码,但我找不到问题所在。该程序确实可以编译并运行,但最终出现 fatal error 。 程序读取文件并收集数字以计算总数(将它们转换为 float 后)。然后它读取文件并显示小于
我是计算机科学的新手,最近上了一节课。我正在努力解决这个问题,尽管我知道按位运算,但我还是不太明白 问题图片: 我可以有一个明确的解释吗? 最佳答案 答案:B 解释: 使用德摩根定律 (https:/
我发现了这个问题, 编写一个不使用乘法返回给定整数 n 的平方的函数。 对此的解决方法是 public static int sq(int n){ int i = n;
我在某处听说使用 XOR 是不可逆的(他们谈到了加密),但我不明白这是什么意思? AFAIK 即使使用 OR 操作,您也无法找出两个位中的哪一个是 1。请知道这意味着什么的人可以向我解释一下吗? 谢谢
由于一些原始研究和需要为其开发工具,我想出了一些新的,我希望能更好/更快地执行某些数学运算。 Atm 我正在研究伪代码,将它们发布在网站上,以回答已经提出的问题。 然而,在我这样做之前,我想尽可能地优
我经常遇到使用位运算符来做快速、简单和优雅的事情的人。我想学习一些有用的技巧。有哪些最有用的按位运算符案例? 最佳答案 恒定时间 2-幂运算: x = 1 << n; // x = pow(2, n)
我们需要为我的计算机体系结构类编写一个模拟IEEE浮点数除法的程序。我几乎已经做到了,但是我认为查看程序在APL中的样子会很有趣,但是据我所知,没有(简单的)方法可以在APL中进行按位运算(按位和/或
我正在寻找具有以下特征的按位运算序列以下属性: | 00 01 10 11 ---|--------------- 00 | 00 01 | 01 01 10 | 00 01 00
我有一系列位标志,其顺序类似于 {none=0x00, puppies=0x01, kittens=0x02, cute=0x04, funny=0x08, scary=0x10} 等等。 每当用户进
我正在尝试有效地执行以下任务: INPUT VALUE: 01101011 MASK: 00110010 MASK RESULT: --10--1- AGGREGATED: 00000
我需要一种快速的方法来计算位向量的索引间隔的设置位数。例如,给定 10000100100011000 和索引区间 [2, 5],返回值为 2。索引从右边的 0 开始。我有很多疑问要以这种方式完成。分别
我有以下表达式来计算奇偶校验位: AB0E 异或 73C9 异或 D46A 异或 06E3 这将如何评估?是吗: (((AB0E XOR 73C9) XOR D46A) XOR 06E3) 或者是:
我需要对 7 位值进行任意重新排序(是的,我知道我应该使用表格)并且想知道是否有任何技巧可以做到这一点。 例子: // -> // the naive way out = (0x020 &
假设我有这两个数字: x = 0xB7 y = 0xD9 它们的二进制表示是: x = 1011 0111 y = 1101 1001 现在我想在给定点交叉(GA),比如从位置 4 开始。 预期的结果
我想知道是否有办法使用按位运算符屏蔽 int 值列表,并使用该掩码来知道 int 值是否是掩码中的值之一。 即如果我有值 129 和 17,如何计算一个掩码,告诉我一个 int 值是否在掩码中对应(如
我需要使用卡片外的字节码验证器来验证Java Card程序(盖帽文件)。 我已经手动修改了cap文件中的信息,并且我想验证新的cap文件是否类型正确。 我尝试使用com.sun.javacard.sc
我正在尝试找到实现此目标的正确方法的方法: 想象一下,我们有一组位集,如下所示: 00100 00101 10000 00010 10001 我想测试一下,哪些位在所有位集中仅设置了一次。在该示例中,
我不完全理解这种计算奇偶校验位的算法。 有人可以详细解释一下吗? 以下代码摘自《黑客的喜悦》一书: int parity(unsigned x) { unsigned y; y = x ^
我有一个任意 8 位二进制 数字,例如,11101101 我必须交换所有的位,如: 交换前:11-10-11-01交换后:11-01-11-10 我在面试中被问到这个问题! 最佳答案 在伪代码中: x
在我的国际象棋引擎中,它使用位板来表示棋盘的状态,一次生成一大块伪合法移动,结果是位板。例如: 棋子: 稍后一点位板魔法: 最后的位板只是一大块可能的 Action 。引擎通常如何获取此位板并从中生成
我是一名优秀的程序员,十分优秀!