Skip to content

Commit 5ecc475

Browse files
committed
ENH: added BlockManager.insert function
1 parent c8e5403 commit 5ecc475

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

pandas/core/internals.py

+11-5
Original file line numberDiff line numberDiff line change
@@ -489,11 +489,17 @@ def set(self, item, value):
489489
else:
490490
block.set(item, value)
491491
else:
492-
# TODO: where to insert?
493-
new_items = _insert_into_items(self.items, item, len(self.items))
494-
self.set_items_norename(new_items)
495-
# new block
496-
self._add_new_block(item, value)
492+
# insert at end
493+
self.insert(item, len(self.items), value)
494+
495+
def insert(self, item, loc, value):
496+
if item in self.items:
497+
raise Exception('cannot insert %s, already exists' % item)
498+
499+
new_items = _insert_into_items(self.items, item, loc)
500+
self.set_items_norename(new_items)
501+
# new block
502+
self._add_new_block(item, value)
497503

498504
def _delete_from_block(self, i, item):
499505
"""

0 commit comments

Comments
 (0)