Посмотрите значение в массиве - PullRequest
0 голосов
/ 17 мая 2019

Предположим, у меня есть два набора данных

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]

Спасибо, это в блоках данных, поэтому метод в порядке. питон, SQL, ... ... Скала

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Предположим, что ваш набор данных находится в файлах, и вы можете сделать что-то вроде этого,

, используя 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']
0 голосов
/ 17 мая 2019

вы можете попробовать это

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']]

надеюсь, что это поможет. :)

...