Я конвертирую в Python и Numpy из IDL (вроде как Matlab). Это своего рода открытый вопрос об обработке данных. Может быть, кто-то может помочь.
Обычная ситуация с моими данными состоит в том, что у меня есть фиксированный класс данных, возможно, из электронной таблицы, базы данных и т. Д. Я пытаюсь выяснить, какие структуры данных лучше всего использовать в python и numpy.
Я знаю о модуле csv и могу использовать csv.DictReader () для чтения электронных таблиц. Это читает строку за строкой и создает словарь с правильными именами из заголовка таблицы (первая строка).
f=open(file,'rU')
dat = csv.DictReader(f)
i=0
data=[] # makes an empty list
i=0
for row in dat:
data.append(row)
if i == 0 :
keys=row.keys()
print "keys"
print keys
print
i=i+1
f.close()
Прежде всего, это довольно много кода для чтения CSV-файла в список словарей и ввода ключей. Есть ли более быстрый / лучший способ?
Но теперь мне интересно, действительно ли массив словарей - это то, что я хочу. Должен ли я сделать класс объектов и сделать это массив объектов? Или что-то еще?
Если бы у меня был мой массив словарей "данные", я бы получил такой "столбец", как
age = array ([дата ["возраст"] для данных в данных))
Это правильный способ сделать это? Нет ли способа, подобного age = data-> age, сделать это быстрее?
Буду признателен за некоторые рекомендации. Спасибо.