Advertisement
aneroid

longer error msg for setting df with dict.values()

Apr 5th, 2021
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.75 KB | None | 0 0
  1. # for https://stackoverflow.com/q/66961614/1431750
  2.  
  3. KeyError                                  Traceback (most recent call last)
  4. c:\program files\python38\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
  5.    3079             try:
  6. -> 3080                 return self._engine.get_loc(casted_key)
  7.    3081             except KeyError as err:
  8.  
  9. pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  10.  
  11. pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  12.  
  13. pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
  14.  
  15. pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
  16.  
  17. KeyError: dict_values(['first_column', 'second_column', 'third_column'])
  18.  
  19. The above exception was the direct cause of the following exception:
  20.  
  21. KeyError                                  Traceback (most recent call last)
  22. c:\program files\python38\lib\site-packages\pandas\core\generic.py in _set_item(self, key, value)
  23.    3825         try:
  24. -> 3826             loc = self._info_axis.get_loc(key)
  25.    3827         except KeyError:
  26.  
  27. c:\program files\python38\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
  28.    3081             except KeyError as err:
  29. -> 3082                 raise KeyError(key) from err
  30.    3083
  31.  
  32. KeyError: dict_values(['first_column', 'second_column', 'third_column'])
  33.  
  34. During handling of the above exception, another exception occurred:
  35.  
  36. ValueError                                Traceback (most recent call last)
  37. <ipython-input-29-31e2e9fe17fe> in <module>
  38. ----> 1 df[cols_dict.values()] = df[cols_dict.values()].applymap(lambda x: -1 if x % 2 == 0 else x ** 2)
  39.  
  40. c:\program files\python38\lib\site-packages\pandas\core\frame.py in __setitem__(self, key, value)
  41.    3161         else:
  42.    3162             # set column
  43. -> 3163             self._set_item(key, value)
  44.    3164
  45.    3165     def _setitem_slice(self, key: slice, value):
  46.  
  47. c:\program files\python38\lib\site-packages\pandas\core\frame.py in _set_item(self, key, value)
  48.    3241         self._ensure_valid_index(value)
  49.    3242         value = self._sanitize_column(key, value)
  50. -> 3243         NDFrame._set_item(self, key, value)
  51.    3244
  52.    3245         # check if we are modifying a copy
  53.  
  54. c:\program files\python38\lib\site-packages\pandas\core\generic.py in _set_item(self, key, value)
  55.    3827         except KeyError:
  56.    3828             # This item wasn't present, just insert at end
  57. -> 3829             self._mgr.insert(len(self._info_axis), key, value)
  58.    3830             return
  59.    3831
  60.  
  61. c:\program files\python38\lib\site-packages\pandas\core\internals\managers.py in insert(self, loc, item, value, allow_duplicates)
  62.    1201             value = safe_reshape(value, (1,) + value.shape)
  63.    1202
  64. -> 1203         block = make_block(values=value, ndim=self.ndim, placement=slice(loc, loc + 1))
  65.    1204
  66.    1205         for blkno, count in _fast_count_smallints(self.blknos[loc:]):
  67.  
  68. c:\program files\python38\lib\site-packages\pandas\core\internals\blocks.py in make_block(values, placement, klass, ndim, dtype)
  69.    2730         values = DatetimeArray._simple_new(values, dtype=dtype)
  70.    2731
  71. -> 2732     return klass(values, ndim=ndim, placement=placement)
  72.    2733
  73.    2734
  74.  
  75. c:\program files\python38\lib\site-packages\pandas\core\internals\blocks.py in __init__(self, values, placement, ndim)
  76.     140
  77.     141         if self._validate_ndim and self.ndim and len(self.mgr_locs) != len(self.values):
  78. --> 142             raise ValueError(
  79.     143                 f"Wrong number of items passed {len(self.values)}, "
  80.     144                 f"placement implies {len(self.mgr_locs)}"
  81.  
  82. ValueError: Wrong number of items passed 3, placement implies 1
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement