我的数据存在一些问题。该调查是在住房单位进行的。因此,具有相同人员ID的两行实际上可能不会指示同一个人。
我想为实际不同的人分配不同的ID。
假设我有这些数据。
id yearmonth age
1 200001 12
1 200002 12
1 200003 14
1 200004 14
1 200005 14
第三排肯定是与众不同的人。它的年龄增加了2.
所以我想改变ID,如
id yearmonth age
1 200001 12
1 200002 12
10 200003 14
10 200004 14
10 200005 14
我该怎么做?我想我可以通过写
来改变第3行的IDbysort id (yearmonth): replace id=id*10 if age[_n-1]>age+1 | age[_n-1]+1<age
(where I multiply by 10 because all IDs have the same number of numbers, so that multiplying by 10 won't give any duplicate)
但是如何更改所有后续行?
答案 0 :(得分:1)
以你所拥有的为基础,这样的事情可能会做你想要的。
sudo -H pip3 install py3exiv2
请注意,这将处理一个原始ID检测到两个或更多更改的情况。无论如何,最多可以进行10次更改。
import pyexiv2
metadata = pyexiv2.ImageMetadata("file_name.jpg")
metadata.read()
key = "Xmp.xmp.CustomTagKey"
value = "CustomTagValue"
metadata[key] = pyexiv2.XmpTag(key, value)
metadata.write()