diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 80af10383e24e..e806f6f469bd3 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -9012,18 +9012,11 @@ def _align_series( if is_series: left = self._reindex_indexer(join_index, lidx, copy) - elif lidx is None: + elif lidx is None or join_index is None: left = self.copy() if copy else self else: - data = algos.take_nd( - self.values, - lidx, - allow_fill=True, - fill_value=None, - ) - left = self._constructor( - data=data, columns=self.columns, index=join_index + self._mgr.reindex_indexer(join_index, lidx, axis=1, copy=copy) ) right = other._reindex_indexer(join_index, ridx, copy)