【发布时间】:2017-04-06 08:42:29
【问题描述】:
我在 CSV 文件中有以下数据集
[1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 1, 1, 2]
现在我想通过比较它们来计算每个值并将其存储在一个数组中,但我不想要频率。所以我的输出应该是这样的:
[3, 4, 3, 2, 1]
我的代码如下:
import csv
with open("c:/Users/Niels/Desktop/test.csv", 'rb') as f:
reader = csv.reader(f, delimiter=';')
data = []
for column in reader:
data.append(column[0])
results = data
results = [int(i) for i in results]
print results
dataFiltered = []
for i in results:
if i == (i+1):
counter = counter + 1
dataFiltered.append(counter)
counter = 0
print dataFiltered
我的想法是通过比较单元格的值。我知道结果的 for 循环中有问题,但我不知道我的错误在哪里。我的想法是通过比较单元格值。也许
【问题讨论】:
-
if i == (i+1):这不可能发生!是否要检查前一个元素是否与下一个元素相同? -
你为什么要
results = data; results = [int(i) for i in results]?为什么不直接results = [int(i) for i in data]?