Get unique values from an integer column
Returns sorted array of unique values from the specified integer column
@param[in] df The data frame instance @param[in] col_index Column index (1-based) @return Array of unique values (sorted)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(data_frame), | intent(in) | :: | df | |||
| integer, | intent(in) | :: | col_index |
function df_unique_integer(df, col_index) result(unique_vals) type(data_frame), intent(in) :: df integer, intent(in) :: col_index integer(ik), dimension(:), allocatable :: unique_vals integer(ik), dimension(:), allocatable :: col, temp_unique integer :: i, j, n_unique logical :: is_unique col = df_get_col_integer(df, col_index) allocate (temp_unique(size(col))) n_unique = 0 do i = 1, size(col) is_unique = .true. do j = 1, n_unique if (col(i) == temp_unique(j)) then is_unique = .false. exit end if end do if (is_unique) then n_unique = n_unique + 1 temp_unique(n_unique) = col(i) end if end do allocate (unique_vals(n_unique)) unique_vals = temp_unique(1:n_unique) ! Sort unique values call quick_sort_integer(unique_vals, 1, n_unique) deallocate (temp_unique) end function df_unique_integer