我有一個包含許多列的FITS文件。該文件的一個簡化的例子中的一部分是這樣的:通過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是相同的,但列乙變化從1到4然後列的下一個5個值A和C是相同的,但列乙 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以及?
你有什麼試過的?你最初的代碼是什麼?什麼不行? SO不是在這裏做你的功課,你應該先試試自己的東西:) – favoretti
@favoretti這不是作業!我試圖使用枚舉,但這並沒有幫助。我也試着用for循環來思考,這並沒有幫助 – ThePredator
@favoretti因爲A和C不相等,即沒有相同的值,我很困惑使用什麼。如果他們是平等的,我可以使用枚舉並說如果A == C,返回len(B) – ThePredator