Чтение данных в datastore
Создайте datastore из файла образца, airlinesmall.csv
, который содержит табличные данные.
ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA','MissingValue',0);
Измените SelectedVariableNames
свойство для задания интересующих переменных.
ds.SelectedVariableNames = {'DepTime','ArrTime','ActualElapsedTime'};
В то время как существуют данные, доступные для чтения из datastore, считывайте один блок данных за раз и анализируйте данные. В этом примере суммируйте фактическое истекшее время.
sumElapsedTime = 0; while hasdata(ds) T = read(ds); sumElapsedTime = sumElapsedTime + sum(T.ActualElapsedTime); end
Просмотрите сумму фактического истекшего времени.
sumElapsedTime
sumElapsedTime = 14531797
Создайте datastore из файла образца, mapredout.mat
, который является выходом файлом mapreduce
функция.
ds = datastore('mapredout.mat');
Считайте подмножество данных в datastore.
T = read(ds)
T=1×2 table
Key Value
______ _________
{'AA'} {[14930]}
Измените количество пар "ключ-значение", чтобы считать за раз, изменив ReadSize
свойство datastore.
ds.ReadSize = 5;
Считайте следующие пять пары "ключ-значение" в datastore.
T = read(ds)
T=5×2 table
Key Value
______ _________
{'AS'} {[ 2910]}
{'CO'} {[ 8138]}
{'DL'} {[16578]}
{'EA'} {[ 920]}
{'HP'} {[ 3660]}
Создайте datastore, который поддерживает четность между парой изображений базовых хранилищ данных. Например, создайте два отдельных хранилища данных изображений, а затем создайте комбинированный datastore, которое считывает соответствующие изображения из двух хранилищ данных изображений.
Создайте изображение datastore imds1
представление набора из трех изображений.
imds1 = imageDatastore({'peppers.png','street1.jpg','street2.jpg'});
Создайте второй imds2
datastore содержащая маску ярких областей трех изображений. Чтобы создать этот datastore, сначала преобразуйте изображения
imds1
до полутонового. Затем преобразуйте каждое изображение в двоичную маску путем выполнения порогового значения. В этом примере операция порога преобразует пиксели со значением выше порога (250
) к белому и все другие пиксели к черному.
imds2 = transform(imds1,@(x) rgb2gray(x)>250);
Создайте комбинированный datastore из imds1
и imds2
.
imdsCombined = combine(imds1,imds2);
Считайте первый подмножество данных из комбинированного datastore. Выходные выходы - массив ячеек 1 на 2. Эти два столбца представляют первый подмножество данных, считанных из двух базовых хранилищ данных imds1
и imds2
, соответственно.
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{384x512x3 uint8} {384x512 logical}
Отобразите считанные данные из объединённого datastore как пару мозаичных изображений.
tile = imtile(dataOut); imshow(tile)
Еще раз прочитайте из объединенного datastore. Этот вызов к read
функция продолжает чтение из конечной точки предыдущего вызова.
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{480x640x3 uint8} {480x640 logical}
Отобразите считанные данные.
tile = imtile(dataOut); imshow(tile)
ds
- Входной datastoreВведите datastore. Можно использовать эти хранилища данных как вход в read
способ.
MATLAB® datastores - Хранилища данных, созданные с помощью MATLAB datastore
функций. Например, создайте datastore для набора изображений, используя ImageDatastore
. Полный список хранилищ данных см. в разделе Выбор Datastore для формата файла или приложения.
Объединенные и преобразованные хранилища данных - Хранилища данных, созданные с помощью combine
и transform
функций.
Пользовательские хранилища данных - Хранилища данных, созданные с помощью пользовательской среды хранилища данных. См. «Разработка пользовательского Datastore».
data
- Выходные данныеВыходные данные, возвращенные как таблица или массив в зависимости от типа ds
.
Тип Datastore | Тип данных data | Описание |
---|---|---|
TabularTextDatastore и SpreadsheetDatastore | Таблица | The SelectedVariableNames свойство определяет табличные переменные. |
ImageDatastore | Целочисленный массив | Размерности целочисленного массива зависят от типа изображения:
Если на |
KeyValueDatastore | Таблица | Имена табличных переменных Key и Value . |
FileDatastore | Варьируется | Этот выход аналогичен выходу, возвращенной пользовательской функцией чтения, заданной 'ReadFcn' значение. |
TransformedDatastore | Варьируется | Выходы совпадают с выходами функции преобразования @fcn , заданный в transform метод, используемый для создания TransformedDatastore . |
CombinedDatastore | Варьируется | Содержит горизонтальную конкатенацию выхода чтения из соответствующих базовых хранилищ данных. |
info
- Информация о считанных данныхИнформация о считанных данных, возвращенная как массив структур или массив ячеек из массивов структур.
Для хранилищ данных MATLAB и TransformedDatastore
, info
- массив структур, который имеет поля с информацией о datastore.
Для CombinedDatastore
, info
- массив ячеек из массивов структур. Каждый элемент массива ячеек содержит структуру с релевантными полями соответствующего базового datastore.
Информация в массиве структур зависит от типа входного datastore. Массив структур может содержать следующие поля.
Имя поля | Типы Datastore | Описание |
---|---|---|
Filename | ImageDatastore , SpreadsheetDatastore , TabularTextDatastore , FileDatastore , KeyValueDatastore , и TallDatastore | Filename - полностью разрешенный путь, содержащий строку пути, имя файла и расширение файла. Для ImageDatastore объекты, чьи ReadSize свойство больше 1, Filename - массив ячеек с именами файлов, соответствующими каждому изображению. |
FileSize | Общий размер файла, в байтах. Для Для MAT-файлов значение
| |
FileType | KeyValueDatastore только | Тип файла, из которого считываются данные, либо |
Label | ImageDatastore только | Имя метки изображения. Если на |
NumCharactersRead | TabularTextDatastore только | Количество прочитанных символов. |
NumDataRows | SpreadsheetDatastore только | Вектор, содержащий количество строк, считанных с каждого листа. |
Offset | KeyValueDatastore и TabularTextDatastore только | Начальное положение операции чтения в байтах. Для MAT-файлов, |
SheetNames | SpreadsheetDatastore только | Имена листов считываются. |
SheetNumbers | SpreadsheetDatastore только | Считалась нумерация, связанная с листами. |
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.