Skip to content

Commit bb05060

Browse files
committed
Pass axis to _ensure_listlike_indexer
1 parent b37745e commit bb05060

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
@@ -2686,7 +2686,7 @@ def _setitem_array(self, key, value):
26862686
for k1, k2 in zip(key, value.columns):
26872687
self[k1] = value[k2]
26882688
else:
2689-
self.loc._ensure_listlike_indexer(key)
2689+
self.loc._ensure_listlike_indexer(key, axis=1)
26902690
indexer = self.loc._get_listlike_indexer(
26912691
key, axis=1, raise_missing=False
26922692
)[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)
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)