def argsort(self, axis=<NUM_LIT:0>, kind='<STR_LIT>', order=None):
values = self._values<EOL>mask = isna(values)<EOL>if mask.any():<EOL><INDENT>result = Series(-<NUM_LIT:1>, index=self.index, name=self.name,<EOL>dtype='<STR_LIT>')<EOL>notmask = ~mask<EOL>result[notmask] = np.argsort(values[notmask], kind=kind)<EOL>return self._constructor(result,<EOL>index=self.index).__finalize__(self)<EOL><DEDENT>else:<EOL><INDENT>return self._constructor(<EOL>np.argsort(values, kind=kind), index=self.index,<EOL>dtype='<STR_LIT>').__finalize__(self)<EOL><DEDENT>
Override ndarray.argsort. Argsorts the value, omitting NA/null values,
and places the result in the same locations as the non-NA values.

Parameters
----------
axis : int
    Has no effect but is accepted for compatibility with numpy.
kind : {'mergesort', 'quicksort', 'heapsort'}, default 'quicksort'
    Choice of sorting algorithm. See np.sort for more
    information. 'mergesort' is the only stable algorithm
order : None
    Has no effect but is accepted for compatibility with numpy.

Returns
-------
Series
    Positions of values within the sort order with -1 indicating
    nan values.

See Also
--------
numpy.ndarray.argsort