Not equal comparison for character columns
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(data_frame), | intent(in) | :: | df | |||
class(*), | intent(in) | :: | col | |||
character(len=*), | intent(in) | :: | value |
function ne_character(df, col, value) result(mask) type(data_frame), intent(in) :: df class(*), intent(in) :: col character(len=*), intent(in) :: value type(boolean_mask) :: mask logical, dimension(:), allocatable :: result_mask character(len=:), allocatable :: val integer :: col_index, i col_index = get_column_index(df, col) if (df % dtype(col_index) /= CHARACTER_NUM) error stop "column is not character type" allocate (result_mask(df % nrows())) do i = 1, df % nrows() val = df_get_val_character(df, i, col_index) result_mask(i) = trim(val) /= trim(value) deallocate (val) end do call mask % new(result_mask) deallocate (result_mask) end function ne_character