我想使用python来计算每个地址在数据文件中出现的次数。 地址范围不固定,这意味着地址范围与每个数据文件不同。 min和max之间的一些地址根本不出现。 (第二列是地址)使用python计算每个地址在数据文件中出现的次数
为了有效地解决这个问题,我该如何处理? 我不知道哪个数据结构是可以的,哪个函数对它有帮助?
我只是试图用大数组的哪个索引来表示地址。读取数据文件并加1到数组[地址]。这是糟糕的代码。
加了: 我试图pieces_write [1] .value_counts(),结果是数据文件的
print(pieces_write[1].value_counts())
AttributeError: 'list' object has no attribute 'value_counts'
实施例(第2列是地址)
0 303567 3584 Write 0.000000
1 55590 3072 Write 0.000000
0 303574 3584 Write 0.026214
1 240840 3072 Write 0.026214
1 55596 3072 Read 0.078643
0 303581 3584 Write 0.117964
1 55596 3072 Write 0.117964
0 303588 3584 Write 0.530841
1 55596 3072 Write 0.530841
0 303595 3584 Write 0.550502
1 240840 3072 Write 0.550502
1 55602 3072 Read 0.602931
0 303602 3584 Write 0.648806
1 55602 3072 Write 0.648806
0 303609 3584 Write 0.910950
1 55602 3072 Write 0.910950
0 303616 3584 Write 0.930611
1 240840 3072 Write 0.930611
1 55608 3072 Read 0.983040
0 303623 3584 Write 1.028915
1 55608 3072 Write 1.028915
0 303630 3584 Write 1.330380
1 55608 3072 Write 1.330380
CODE为数据文件阅读
for line in open(datafile):
line_data = line.split()
if int(line_data[1]) < 6000000:
if line_data[3] == 'Read':
pieces_read.append(line_data)
x_read.append(count)
else:
pieces_write.append(line_data)
x_write.append(count)
x_tot.append(count)
pieces_tot.append(line_data)
count += 1
你尝试过什么已经实现?代码有任何特定问题吗? – yeputons
['collections.Counter'](https://docs.python.org/2/library/collections.html#collections.Counter) –
@yeputons我添加更多描述。 – WKK