BUG: Series.loc setitem with Series raises ValueError · Issue #38303 · pandas-dev/pandas (original) (raw)
import pandas as pd
ser = pd.Series([0, 0, 0], dtype=object)
ser.loc[0] = pd.Series([42]) # ValueError: No axis named 1 for object type Series
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~/sources/official.clone/pandas/pandas/core/generic.py in _get_axis_number(cls, axis)
456 try:
--> 457 return cls._AXIS_TO_AXIS_NUMBER[axis]
458 except KeyError:
KeyError: 1
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
<ipython-input-24-7c4b5d72ca25> in <module>
----> 1 ser.loc[0] = pd.Series([0])
~/sources/official.clone/pandas/pandas/core/indexing.py in __setitem__(self, key, value)
689
690 iloc = self if self.name == "iloc" else self.obj.iloc
--> 691 iloc._setitem_with_indexer(indexer, value, self.name)
692
693 def _validate_key(self, key, axis: int):
~/sources/official.clone/pandas/pandas/core/indexing.py in _setitem_with_indexer(self, indexer, value, name)
1634 self._setitem_with_indexer_split_path(indexer, value, name)
1635 else:
-> 1636 self._setitem_single_block(indexer, value, name)
1637
1638 def _setitem_with_indexer_split_path(self, indexer, value, name: str):
~/sources/official.clone/pandas/pandas/core/indexing.py in _setitem_single_block(self, indexer, value, name)
1848 # setting for extensionarrays that store dicts. Need to decide
1849 # if it's worth supporting that.
-> 1850 value = self._align_series(indexer, Series(value))
1851
1852 elif isinstance(value, ABCDataFrame) and name != "iloc":
~/sources/official.clone/pandas/pandas/core/indexing.py in _align_series(self, indexer, ser, multiindex_indexer)
2018
2019 elif is_scalar(indexer):
-> 2020 ax = self.obj._get_axis(1)
2021
2022 if ser.index.equals(ax):
~/sources/official.clone/pandas/pandas/core/generic.py in _get_axis(self, axis)
467 @final
468 def _get_axis(self, axis: Axis) -> Index:
--> 469 axis_number = self._get_axis_number(axis)
470 assert axis_number in {0, 1}
471 return self.index if axis_number == 0 else self.columns
~/sources/official.clone/pandas/pandas/core/generic.py in _get_axis_number(cls, axis)
457 return cls._AXIS_TO_AXIS_NUMBER[axis]
458 except KeyError:
--> 459 raise ValueError(f"No axis named {axis} for object type {cls.__name__}")
460
461 @final
ValueError: No axis named 1 for object type Series
0 0 42
dtype: int64
1 0
2 0
dtype: object