根据每个键的顺序行确定增加或减少值

时间:2016-09-20 20:51:43

标签: python list direction

我有一个包含90,000条记录的数据集。这90,000条记录属于大约3,000个唯一密钥。对于每个Key,从ItemNumber为1开始按顺序排列值,直到' n'。

对于每个Key 1到n,我想比较第二行到第一行,第三行到第二行,依此类推。下面给出了我的表格样本,其中填充了一些值作为预期的示例。

我有一个里程碑值的列,想知道连续记录之间的值是升序还是降序。

在网址http://i.imgur.com/i1nuAK9.png找到的示例图片,因为我太新了,无法嵌入图片。

我是python的新手,我很难入门。即使我可以比较" ProjectKey A,ItemNum 2" to" ProjectKey A,ItemNum 1"要知道它的提升我能比较第一条记录吗?我无法确定要解析的方向。

非常感谢任何帮助!

编辑: 片段作为csv

ProjectKey,ItemNum,BMP,方向 A,1,0.2,_ A,2,1.7,_ A,3,2.5,_ A,4,5,_ A,5,9,_ A,6,12,_ B,1,25,_ B,2,24.2,_ B,3,21.7,_ B,4,20.3,_ C,1,3,_ C,2,4,_ C,3,5,_ C,4,6,_ C,5,5,_ C,6,4,_ C,7,3,_ C,8,2,_

1 个答案:

答案 0 :(得分:0)

将数据传输到文本后,您可以使用一组列表和一个for循环来解析并比较:

keylistA = [0.2, 1.7, 2.5, 5, 9, 12]
listAdirection = ['(start)']

for i in range(0, len(keylistA)):
    if keylistA[i] > keylistA[i+1]:
        listAdirection.append('DESC')
    elif keylistA[i] < keylistA[i+1]:
        listAdirection.append('ASC')
    else:
        listAdirection.append('SAME')

这会给你一些这样的列表:

listAdirection = ['(start)', 'ASC', 'ASC', 'ASC', 'ASC', 'ASC']

您可以使用嵌套列表格式保存列表,也可以使用某种字典设置。当然,这完全取决于您选择如何将这些列中的数据导出到文本中。