@@ -2031,10 +2031,6 @@ def __getitem__(self, key):
2031
2031
raise ValueError ("Invalid call for scalar access (getting)!" )
2032
2032
2033
2033
key = self ._convert_key (key )
2034
-
2035
- if isinstance (self .obj , ABCSeries ) and len (key ) > 1 :
2036
- key = [key ]
2037
-
2038
2034
return self .obj ._get_value (* key , takeable = self ._takeable )
2039
2035
2040
2036
def __setitem__ (self , key , value ):
@@ -2046,13 +2042,9 @@ def __setitem__(self, key, value):
2046
2042
2047
2043
if not isinstance (key , tuple ):
2048
2044
key = _tuplify (self .ndim , key )
2049
-
2050
- if isinstance (self .obj , ABCSeries ) and len (key ) > 1 :
2051
- key = [key ]
2052
-
2045
+ key = list (self ._convert_key (key , is_setter = True ))
2053
2046
if len (key ) != self .ndim :
2054
2047
raise ValueError ("Not enough indexers for scalar access (setting)!" )
2055
- key = list (self ._convert_key (key , is_setter = True ))
2056
2048
self .obj ._set_value (* key , value = value , takeable = self ._takeable )
2057
2049
2058
2050
@@ -2065,6 +2057,11 @@ def _convert_key(self, key, is_setter: bool = False):
2065
2057
Require they keys to be the same type as the index. (so we don't
2066
2058
fallback)
2067
2059
"""
2060
+ # For series, unpacking key needs to result in the label.
2061
+ # This is already the case for non-multiindex
2062
+ if isinstance (self .obj , ABCSeries ) and len (key ) > 1 :
2063
+ key = (key ,)
2064
+
2068
2065
# allow arbitrary setting
2069
2066
if is_setter :
2070
2067
return list (key )
0 commit comments