gpt4 book ai didi

python - OpenRefine:创建列的移位副本

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:12 24 4
gpt4 key购买 nike

我想知道 OpenRefine 是否允许您在创建新列时访问其他行的数据。我怀疑它不会(这将是一个合理的设计原则),但可能有一个解决方案。

以下是人们可能想要做的事情的示例:将一列移动一行。

我有下表:

╔═════╦════════╗
║ row ║ Model ║
╠═════╬════════╣
║ 1 ║ Quest ║
║ 2 ║ DF ║
║ 3 ║ Waw ║
║ 4 ║ Strada ║
╚═════╩════════╝

我想获得以下结果:

╔═════╦════════╦══════════╗
║ row ║ Model ║ Previous ║
╠═════╬════════╬══════════╣
║ 1 ║ Quest ║ ║
║ 2 ║ DF ║ Quest ║
║ 3 ║ Waw ║ DF ║
║ 4 ║ Strada ║ Waw ║
╚═════╩════════╩══════════╝

查看https://github.com/OpenRefine/OpenRefine/wiki/Variables似乎没有任何变量可以让您访问当前行或记录之外的信息,所以我想知道这种操作是否可能。

最佳答案

不幸的是,Open Refine 中没有“列”变量。一种可能的解决方法是将所有数据集转换为单个记录,然后应用一些 Python/Jython。

示例:

data = row['record']['cells']['Model']['value']
for i, el in enumerate(data):
if value == el and i !=0:
return data[i - 1]

截屏:

enter image description here

我不知道 GREL 中的解决方案是否可行。

关于python - OpenRefine:创建列的移位副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46379241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com