Need help filtering csv by values inside column
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Conor Nelson
il 8 Lug 2019
Commentato: Star Strider
il 12 Lug 2019
I have a large csv file(1034361x28). I want to look at column #1, and find rows containing the same column1 value and find the minimum value of column 2 for the new data set.
simple Ex.
if i have:
2 23
2 39
2 40
5 12
5 9
9 29
9 85
I need the code to find the minimum values for each subset of column 2(min of (23,39,40) and (12,9) and (29,85)).
How would i do so for a 1034361x28 file?
Thank You
0 Commenti
Risposta accettata
Star Strider
il 8 Lug 2019
Try this:
A = [2 23
2 39
2 40
5 12
5 9
9 29
9 85];
[UA1,~,Ix] = unique(A(:,1));
Col2Max = accumarray(Ix, A(:,2), [], @min);
Out = [UA1, Col2Max];
producing:
Out =
2 23
5 9
9 29
6 Commenti
Star Strider
il 12 Lug 2019
Try this:
SameCol1 = accumarray(Ix, (1:size(A,1)), [], @(x){A(x,:)});
SameCol1{1}
producing:
ans =
2 23
2 39
2 40
And so for the others.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Statistics and Linear Algebra in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!