Skip to content

Commit

Permalink
Set basic stacklevel for SettingWithCopy warning
Browse files Browse the repository at this point in the history
  • Loading branch information
jtratner committed Nov 24, 2013
1 parent 476b6e3 commit a9627c4
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions pandas/core/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -1015,8 +1015,11 @@ def _setitem_copy(self, copy):
self._is_copy = copy
return self

def _check_setitem_copy(self):
""" validate if we are doing a settitem on a chained copy """
def _check_setitem_copy(self, stacklevel=4):
""" validate if we are doing a settitem on a chained copy.
If you call this function, be sure to set the stacklevel such that the
user will see the error *at the level of setting*"""
if self._is_copy:
value = config.get_option('mode.chained_assignment')

Expand All @@ -1026,7 +1029,7 @@ def _check_setitem_copy(self):
if value == 'raise':
raise SettingWithCopyError(t)
elif value == 'warn':
warnings.warn(t, SettingWithCopyWarning)
warnings.warn(t, SettingWithCopyWarning, stacklevel=stacklevel)

def __delitem__(self, key):
"""
Expand Down

0 comments on commit a9627c4

Please sign in to comment.