假设我有两个数据集
DS1
ArrayCol
[1,2,3,4]
[1,2,3]
DS2
Key Name
1 A
2 B
3 C
4 D
如何在数组中查找值以映射“名称”,这样我就可以拥有另一个类似于以下的数据集?
DS3
COlNew
[A,B,C,D]
[A,B,C]
谢谢,它在数据块中,所以方法还可以。 python,sql,scala ......
答案 0 :(得分:0)
您可以尝试
ds1 = [[1, 2, 3, 4], [1, 2, 3]]
ds2 = {1: 'A', 2: 'B', 3: 'C', 4: 'D'}
new_data = [[ds2[cell] for cell in col] for col in ds1]
print(new_data)
输出:
[['A', 'B', 'C', 'D'], ['A', 'B', 'C']]
希望会有所帮助。 :)
答案 1 :(得分:0)
让我们考虑您的数据集在文件中,您可以执行以下操作
利用dict
f=open("ds1.txt").readlines()
g=open("ds2.txt").readlines()
u=dict(item.rstrip().split("\t") for item in g)
for i in f:
i = i.rstrip().strip('][').split(',')
print [u[col] for col in i]
输出
['A', 'B', 'C', 'D']
['A', 'B', 'C']