[英]How do I insert missing rows and conduct math between multiple files?
我有兩個文件,每個文件包含兩列。 第一列是整數。 第二列是線性坐標。 並非每個坐標都被表示,我想插入所有缺失的坐標。 以下是我的數據的一個文件中的示例:
3 0
1 10
1 100
2 1000
1 1000002
1 1000005
1 1000006
對於此示例,缺少坐標1-9,11-99等但需要插入,並且需要計數為零(0)。
3 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 10
........
使用完整的行集,我需要在每個計數(第一列)中添加add(1)。 最后,我想對兩個文件中第一列的相應行進行簡單的計算(比率)。 比率應該是實數。
如果可能的話,我希望能夠用Unix做到這一點,但我也熟悉python腳本。 任何幫助是極大的贊賞。
這應該適用於Python 2.3以上版本。
我假設你的文件是以空格分隔的。
如果您希望值超過1000006,則需要更改desired_range
的值。
import csv
desired_range = 1000007
reader = csv.reader(open('fill_range_data.txt'), delimiter=' ')
data_map = dict()
for row in reader:
frequency = int(row[0])
value = int(row[1])
data_map[value] = frequency
for i in range(desired_range):
if i in data_map:
print data_map[i], i
else:
print 0, i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.