Skip to content

Commit d7184e7

Browse files
committed
Pass axis to _ensure_listlike_indexer
1 parent 660d0f2 commit d7184e7

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

pandas/core/frame.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2685,7 +2685,7 @@ def _setitem_array(self, key, value):
26852685
for k1, k2 in zip(key, value.columns):
26862686
self[k1] = value[k2]
26872687
else:
2688-
self.loc._ensure_listlike_indexer(key)
2688+
self.loc._ensure_listlike_indexer(key, axis=1)
26892689
indexer = self.loc._get_listlike_indexer(
26902690
key, axis=1, raise_missing=False
26912691
)[1]

pandas/core/indexing.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ def _get_setitem_indexer(self, key):
615615
raise
616616
raise IndexingError(key) from e
617617

618-
def _ensure_listlike_indexer(self, key):
618+
def _ensure_listlike_indexer(self, key, axis=None):
619619
"""
620620
Ensure that a list-like of column labels are all present by adding them if
621621
they do not already exist.
@@ -624,6 +624,7 @@ def _ensure_listlike_indexer(self, key):
624624
----------
625625
key : _LocIndexer key or list-like of column labels
626626
Target labels.
627+
axis : key axis if known
627628
"""
628629
column_axis = 1
629630

@@ -635,9 +636,11 @@ def _ensure_listlike_indexer(self, key):
635636
# key may be a tuple if key is a _LocIndexer key
636637
# in that case, set key to the column part of key
637638
key = key[column_axis]
639+
axis = column_axis
638640

639641
if (
640-
not isinstance(self.obj._get_axis(column_axis), ABCMultiIndex)
642+
axis == column_axis
643+
and not isinstance(self.obj._get_axis(column_axis), ABCMultiIndex)
641644
and is_list_like_indexer(key)
642645
and not com.is_bool_indexer(key)
643646
and all(is_hashable(k) for k in key)

0 commit comments

Comments
 (0)