time align two files

4 Ansichten (letzte 30 Tage)
isamh
isamh am 11 Mär. 2020
Kommentiert: isamh am 18 Mär. 2020
I have two CSV files that are not equal sizes. for one of the files,I want to obtain all values for when column two is only equal to one. I already did this, the code for this is:
P = N(N(:,2)==1,:);
Now that I have all the data associated with column 2 when it equals to 1, I want this file to line up with another file. So where ever the second column is = to 1, i want the second file to only show values that are at the same position.
my code for this is:
Val = find(isnan(P));
P(Val) = [];
M(Val) = [];
So there arent any nan values in the data set but this does what I want it to do. P is the values associated with column 2 when it = to 1 and M is the second file.
  2 Kommentare
Guillaume
Guillaume am 11 Mär. 2020
"there arent any nan values in the data set but this does what I want it to do"
If there aren't any nan values then your code does nothing at all.
I'm not entirely sure what you mean by "line up". Can you clarify with an example?
However, just going by the title of your question if you want to match the times of two different files, then importing them as timetables and then synchronize the two. Possibly, this is done with just 3 lines of code.
isamh
isamh am 11 Mär. 2020
Bearbeitet: isamh am 11 Mär. 2020
so lets say file P is: and M is:
A B ... A B ...
3434 1 343 5
2342 1 344 7
2341 1 233 9
1232 0 435 1 <-- get rid of these
3433 0 347 5 <--
3534 1 345 7
3433 0 452 9 <--
5464 1 765 2
I now want to get rid of all the rows that arent equal to 1 and have that happen to the corresponding file

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Guillaume
Guillaume am 11 Mär. 2020
In your example, what you're asking is simply:
M(P(:, 2) ~= 1, :) = [] %remove all rows of M for which the corresponding row of P is not 1.
How this translates to your real use case, I'm not too sure, particularly as you say that M and P haven't got the same number of rows.
  11 Kommentare
Guillaume
Guillaume am 18 Mär. 2020
What do you mean by 'rows that are extra'?
Again, having a concrete example of what you actually want would help.
isamh
isamh am 18 Mär. 2020
you know how this: M(P(:, 2) ~= 1, :) = [] finds every sinlge value equal to 1 in the second column of File P and grabs all that data and matches those corresponding locations in File M. If we only find the values of 1 in the second column in File P, number of rows are 13703. When we include File M, the number of rows is about three times that amount because there is about 20,000 additional rows to that file. How would I be able to ignore all addition rows? I am unable to inlcude the files because I'm not really authorized.
an example:
so lets say file P is: and M is:
A B ... A B ...
3434 1 343 5
2342 1 344 7
2341 1 233 9
1232 0 435 1 <-- get rid of these
3433 0 347 5 <--
3534 1 345 7
3433 0 452 9 <--
5464 1 765 2
343 2 <--
678 4 <--

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Large Files and Big Data finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by