>> df = Pandas::DataFrame.new([[*1..4], [*5..8], [*9..12]], index: %w[r1 r2 r3], columns: %w[x1 x2 x3 x4])
>> df[df % 3 == 1] = -1
>> df
=>
x1 x2 x3 x4
r1 -1 2 3 -1
r2 5 6 -1 8
r3 9 -1 11 12
>> df.loc[["r3", "r1"]]
Traceback (most recent call last):
6: from /Users/mrkn/.rbenv/versions/2.7/bin/irb:23:in `<main>'
5: from /Users/mrkn/.rbenv/versions/2.7/bin/irb:23:in `load'
4: from /Users/mrkn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/irb-1.2.3/exe/irb:11:in `<top (required)>'
3: from (irb):141
2: from /Users/mrkn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/pycall-1.3.0/lib/pycall/pyobject_wrapper.rb:79:in `[]'
1: from /Users/mrkn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/pycall-1.3.0/lib/pycall/pyobject_wrapper.rb:79:in `getitem'
/Users/mrkn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/pycall-1.3.0/lib/pycall/list.rb:18: warning: Capturing the given block using Kernel#proc is deprecated; use `&block` instead
PyCall::PyError (<class 'KeyError'>: 'r1')
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexing.py", line 1762, in __getitem__
return self._getitem_tuple(key)
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexing.py", line 1272, in _getitem_tuple
return self._getitem_lowerdim(tup)
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexing.py", line 1421, in _getitem_lowerdim
return getattr(section, self.name)[new_key]
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexing.py", line 1768, in __getitem__
return self._getitem_axis(maybe_callable, axis=axis)
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexing.py", line 1965, in _getitem_axis
return self._get_label(key, axis=axis)
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexing.py", line 621, in _get_label
return self.obj._xs(label, axis=axis)
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/generic.py", line 3537, in xs
loc = self.index.get_loc(key)
File "/opt/brew/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 2648, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
>> df.loc[["r3", "r1"]]
=>
x1 x2 x3 x4
r3 9 -1 11 12
r1 -1 2 3 -1