In expressions of the form T.X = B where T is a tall table, B must be a tall array.

1 view (last 30 days)
Hello,
I am trying to convert a tall array with a column of strings to numbers. I tried this:
ds = datastore(fullfile(p,'tallFinal.csv')); % CREATE A DATASTORE
ds.SelectedFormats={'%q','%C','%C','%s'}; % DEFINE COLUMN FORMATS
ds.VariableNames = {'DATE','TICKER','FIELD','VALUE'}; % DEFINE COLUMN NAMES
tds = tall(ds); % CREATE A TALL ARRAY
tmp = str2double(tds.VALUE); % CONVERT TO STRING
[tds.fVALUE]=gather(tmp);
And recieved an error after over two hours of processing.
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 2: Completed in 10 min 50 sec
- Pass 2 of 2: Completed in 2 hr 11 min
Evaluation completed in 2 hr 22 min
In expressions of the form T.X = B where T is a tall table, B must be a tall array.
Thank You,
Michael
  7 Comments
Michael
Michael on 8 Sep 2019
Hello,
1) I attached some data.
2) tall(str2double(... didn't work.
3) I don't understand what you mean by "'IG8 \n"
ds = datastore(fullfile(p,'tallFinal.csv')); % CREATE A DATASTORE
ds.SelectedFormats={'%q','%C','%C','%s'}; % DEFINE COLUMN FORMATS
ds.VariableNames = {'DATE','TICKER','FIELD','VALUE'}; % DEFINE COLUMN NAMES
tds = tall(ds); % CREATE A TALL ARRAY
tmp = tall( str2double(tds.VALUE)); % CONVERT TO NUMBER
[tds.fVALUE]=gather(tmp);
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 2: Completed in 11 min 49 sec
- Pass 2 of 2: Completed in 2 hr 5 min
Evaluation completed in 2 hr 17 min
In expressions of the form T.X = B where T is a tall table, B must be a tall array.

Sign in to comment.

Answers (0)

Categories

Find more on Parallel Computing Fundamentals in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!