From 3fed6a59c272bc12d9836be990e6e09637aa7d0a Mon Sep 17 00:00:00 2001 From: tp Date: Fri, 17 Aug 2018 23:06:36 +0100 Subject: [PATCH 1/2] dedent part of Series._get_with one level --- pandas/core/series.py | 71 +++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/pandas/core/series.py b/pandas/core/series.py index 4b92c6a029254..13cfeb49964c8 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -829,47 +829,46 @@ def _get_with(self, key): elif isinstance(key, ABCDataFrame): raise TypeError('Indexing a Series with DataFrame is not ' 'supported, use the appropriate DataFrame column') - else: - if isinstance(key, tuple): - try: - return self._get_values_tuple(key) - except Exception: - if len(key) == 1: - key = key[0] - if isinstance(key, slice): - return self._get_values(key) - raise + elif isinstance(key, tuple): + try: + return self._get_values_tuple(key) + except Exception: + if len(key) == 1: + key = key[0] + if isinstance(key, slice): + return self._get_values(key) + raise - # pragma: no cover - if not isinstance(key, (list, np.ndarray, Series, Index)): - key = list(key) + # pragma: no cover + if not isinstance(key, (list, np.ndarray, Series, Index)): + key = list(key) - if isinstance(key, Index): - key_type = key.inferred_type - else: - key_type = lib.infer_dtype(key) + if isinstance(key, Index): + key_type = key.inferred_type + else: + key_type = lib.infer_dtype(key) - if key_type == 'integer': - if self.index.is_integer() or self.index.is_floating(): - return self.loc[key] - else: - return self._get_values(key) - elif key_type == 'boolean': - return self._get_values(key) + if key_type == 'integer': + if self.index.is_integer() or self.index.is_floating(): + return self.loc[key] else: - try: - # handle the dup indexing case (GH 4246) - if isinstance(key, (list, tuple)): - return self.loc[key] + return self._get_values(key) + elif key_type == 'boolean': + return self._get_values(key) + else: + try: + # handle the dup indexing case (GH 4246) + if isinstance(key, (list, tuple)): + return self.loc[key] - return self.reindex(key) - except Exception: - # [slice(0, 5, None)] will break if you convert to ndarray, - # e.g. as requested by np.median - # hack - if isinstance(key[0], slice): - return self._get_values(key) - raise + return self.reindex(key) + except Exception: + # [slice(0, 5, None)] will break if you convert to ndarray, + # e.g. as requested by np.median + # hack + if isinstance(key[0], slice): + return self._get_values(key) + raise def _get_values_tuple(self, key): # mpl hackaround From 89fadb079ee7cbacadae0af8e8c06a7a40ffaaf1 Mon Sep 17 00:00:00 2001 From: tp Date: Sat, 18 Aug 2018 00:30:18 +0100 Subject: [PATCH 2/2] dedent second part of Series._get_with --- pandas/core/series.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pandas/core/series.py b/pandas/core/series.py index 13cfeb49964c8..91be06dac0b47 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -855,20 +855,20 @@ def _get_with(self, key): return self._get_values(key) elif key_type == 'boolean': return self._get_values(key) - else: - try: - # handle the dup indexing case (GH 4246) - if isinstance(key, (list, tuple)): - return self.loc[key] - return self.reindex(key) - except Exception: - # [slice(0, 5, None)] will break if you convert to ndarray, - # e.g. as requested by np.median - # hack - if isinstance(key[0], slice): - return self._get_values(key) - raise + try: + # handle the dup indexing case (GH 4246) + if isinstance(key, (list, tuple)): + return self.loc[key] + + return self.reindex(key) + except Exception: + # [slice(0, 5, None)] will break if you convert to ndarray, + # e.g. as requested by np.median + # hack + if isinstance(key[0], slice): + return self._get_values(key) + raise def _get_values_tuple(self, key): # mpl hackaround