我有一个包含许多列的 FITS 文件。该文件的简化示例的一部分如下所示:
A B C
100 1 90
100 2 90
100 3 90
100 4 90
211 40 70
211 41 70
211 42 70
211 43 70
211 44 70
如果您注意到这里, A 列和 C列的前四行相同,但B列从 1 到 4 不等。那么A 和 C列的接下来 5 个值相同,但B列从 40 到 44 不等。
我想做的是,编写一个程序来创建这样的文件:
A B C
100 4 90
211 5 70
也就是说,B 列应该包含 A 列和 C 列相同的值的数量!
我想知道如何在 Python 中做到这一点。它不一定需要处理一个FITS文件,如果FITS文件中有一些不能使用的例程,我也可以将其转换为ASCII格式。
到目前为止我已经尝试过:
我碰到了一个调用的例程Collections
,它有一个调用的子例程Counter
,它计算列表中相等的值的数量并返回它们。
我试过了:
import collections
counter = collections.Counter(a)
counts = counter.values()
但这只会给我A列中相等的值。有人可以告诉我如何使用此例程将这些值也与C列进行比较吗?