基于每个键的连续行确定增加或减少的值

2024-05-12 01:37:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有90000条记录的数据集。这90000条记录属于大约3000个独特的密钥。对于每个键,值的顺序从ItemNumber 1开始,一直到n。你知道吗

对于每个键1到n,我想比较第二行和第一行,第三行和第二行,依此类推。下面给出了我的表的一个示例,其中填充了一些值,作为预期结果的示例。你知道吗

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

示例图片位于URL:http://i.imgur.com/i1nuAK9.png,因为我太新,无法嵌入图片。你知道吗

我对python非常陌生,在入门方面遇到了困难。即使我可以比较“ProjectKey A,ItemNum 2”和“ProjectKey A,ItemNum 1”来知道它是上升的,那么我可以比较第一条记录和什么呢?我无法确定要分析的方向。你知道吗

任何帮助都将不胜感激!你知道吗

编辑: 作为csv的代码段

项目键,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,\


Tags: 数据url示例顺序记录密钥图片方向
1条回答
网友
1楼 · 发布于 2024-05-12 01:37:31

将数据转换为文本后,可以使用一组列表和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']

您可以将列表保存为嵌套列表格式,或者使用某种字典设置。当然,这在很大程度上取决于您选择如何将这些列中的数据导出为文本。你知道吗

相关问题 更多 >