Как перебрать имена отдельных наборов данных? - PullRequest
0 голосов
/ 13 июня 2019

Я хотел бы загрузить и изменить отдельные наборы данных, а затем сохранить их в одном массиве. Поскольку существует множество наборов данных, я хотел бы создать цикл, чтобы не писать один и тот же код для каждого набора данных. Однако я не нашел решения, как обращаться к именам моих данных с помощью цикла. Отдельные наборы данных называются e01, e02, e03, ....

Я пытался использовать цикл for, но поэтому я должен поместить имена наборов данных в виде строк в списке. Это не работает, поскольку цикл обращается только к строкам, но не к данным за именами. Это основная операция, которую я хочу поместить в цикл for:

e01=np.delete(e01,0,1) #delete the first column
test = np.full(len(e01), 1) #create array with participant number
e01 = np.column_stack((e01,test)) #add an additional column that contains the participant number
e02=np.delete(e02,0,1)
test = np.full(len(e02), 2) #create array with participant number
e02 = np.column_stack((e02,test))

Также я попытался объединить данные в цикле, но поскольку первая строка должна отличаться, я не знаю, как запустить цикл:

e_data = np.append(e01,e02,axis=0)
e_data = np.append(e_data,e03,axis=0)
e_data = np.append(e_data,e04,axis=0)

1 Ответ

0 голосов
/ 13 июня 2019

locals () возвращает словарь переменных в текущей области.Затем вы можете получить доступ к именам переменных в виде строк:

In [14]: e01='hi'

In [15]: e02='there'

In [16]: e03=[1,2,42]

In [17]: for i in range(3):
    ...:     print locals()['e0%d'%(i+1)]
    ...:

hi
there
[1, 2, 42]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...