[ncl-talk] Sorting an array depending on first column
Dennis Shea
shea at ucar.edu
Tue Dec 6 06:20:55 MST 2016
Similar to Karin's but use 'dim_pqsort_n'
http://www.ncl.ucar.edu/Document/Functions/Built-in/dim_pqsort_n.shtml
Ain = (/ (/2,1,3/), (/6,2,4/), (/3,1,5/), (/1,7,4/) /)
i = dim_pqsort_n(Ain(:,0), 1, 0)
print(i)
dimA = dimsizes(Ain)
nrow = dimA(0)
Aout = Ain
do nr= 0,nrow-1
Aout(nr,:) = Ain(i(nr),:)
end do
On Tue, Dec 6, 2016 at 3:30 AM, Karin Meier-Fleischer <
meier-fleischer at dkrz.de> wrote:
> Hi Abhik,
>
> you can use NCLs function *dim_pqsort *to sort the array by the first
> column.
>
> begin
> Ain = (/ (/2,1,3/), (/6,2,4/), (/3,1,5/), (/1,7,4/) /)
>
> ;-- criteria is to sort the array Ain by increasing of the first column
> cols_0 = Ain(:,0) ;-- get first columns of each
> row
> i0 = dim_pqsort(cols_0,2) ;-- sorting by increasing and
> overwrite cols_0 return sorted indices i0
>
> ;-- resort Ain
> Aout = Ain(i0,:) ;-- use sorted indices of
> first column to sort the complete array
>
> ;-- print the new array in a nicer way
> opt = True
> opt at title = "Sort array by first column of each row"
> write_matrix(Aout,"3I4",opt)
>
> end
>
> This will print Aout
>
> Sort array by first column of each row
>
> 1 7 4
> 2 1 3
> 3 1 5
> 6 2 4
>
> Bye,
> Karin
>
> Am 06.12.16 um 06:59 schrieb Abhik Santra:
>
> Hi NCL users
>
> How can I sort an array based on its first column elements?
> For example, if
>
> Ain = (/ (/2,1,3/), (/6,2,4/), (/3,1,5/), (/1,7,4/) /)
>
> then how can I get
>
> Aout = (/ (/1,7,4/), (/2,1,3/), (/3,1,5/), (/6,2,4/) /) ?
>
> Any help would be greatly appreciated.
>
> Thanks,
> Abhik
>
> ****************************************
> Abhik Santra
> Postdoctoral Research Fellow
> Australian Bureau of Meteorology,
> Melbourne, Australia
> ****************************************
>
> _______________________________________________
> ncl-talk mailing listncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20161206/e5db72e5/attachment.html
More information about the ncl-talk
mailing list