Skip to content

List index out of range when treating a shifting series #2133

@gius28

Description

@gius28

System information

  • MacOs Catalina 10.15.6
  • modin version: 0.80
  • python version: 3.7.5

I'm trying to divide the shifted column of a dataframe for the same column (but not shifted).
Unfortunately I encounter this issue:

df = pd.DataFrame({"a":[1, 2 ,3]})
df.shift(-1).a / df.a
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-8-7cc3bcb4fa16> in <module>
      1 df = pd.DataFrame({"a":[1, 2 ,3]})
----> 2 df.shift(-1).a / df.a

~/Envs/strategy/lib/python3.7/site-packages/modin/pandas/series.py in __truediv__(self, right)
    348 
    349     def __truediv__(self, right):
--> 350         return self.truediv(right)
    351 
    352     def __rtruediv__(self, left):

~/Envs/strategy/lib/python3.7/site-packages/modin/pandas/series.py in truediv(self, other, level, fill_value, axis)
   1478         new_self, new_other = self._prepare_inter_op(other)
   1479         return super(Series, new_self).truediv(
-> 1480             new_other, level=level, fill_value=None, axis=axis
   1481         )
   1482 

~/Envs/strategy/lib/python3.7/site-packages/modin/pandas/base.py in truediv(self, other, axis, level, fill_value)
   3299         """
   3300         return self._binary_op(
-> 3301             "truediv", other, axis=axis, level=level, fill_value=fill_value
   3302         )
   3303 

~/Envs/strategy/lib/python3.7/site-packages/modin/pandas/base.py in _binary_op(self, op, other, **kwargs)
    231             )
    232         other = self._validate_other(other, axis, numeric_or_object_only=True)
--> 233         new_query_compiler = getattr(self._query_compiler, op)(other, **kwargs)
    234         return self._create_or_update_from_compiler(new_query_compiler)
    235 

~/Envs/strategy/lib/python3.7/site-packages/modin/data_management/functions/binary_function.py in caller(query_compiler, other, *args, **kwargs)
     49                             lambda x, y: func(x, y, *args, **kwargs),
     50                             other._modin_frame,
---> 51                             join_type=join_type,
     52                         )
     53                     )

~/Envs/strategy/lib/python3.7/site-packages/modin/engines/base/frame/data.py in _binary_op(self, op, right_frame, join_type)
   1604         right_parts = right_parts[0]
   1605         new_frame = self._frame_mgr_cls.binary_operation(
-> 1606             1, left_parts, lambda l, r: op(l, r), right_parts
   1607         )
   1608         new_columns = self.columns.join(right_frame.columns, how=join_type)

~/Envs/strategy/lib/python3.7/site-packages/modin/engines/base/frame/partition_manager.py in binary_operation(cls, axis, left, func, right)
    753                     other_axis_partition=right_partitions[i],
    754                 )
--> 755                 for i in range(len(left_partitions))
    756             ]
    757         )

~/Envs/strategy/lib/python3.7/site-packages/modin/engines/base/frame/partition_manager.py in <listcomp>(.0)
    753                     other_axis_partition=right_partitions[i],
    754                 )
--> 755                 for i in range(len(left_partitions))
    756             ]
    757         )

IndexError: list index out of range

The same does not happen when using "standard" pandas:

df = pd.DataFrame({"a":[1, 2 ,3]})
df.shift(-1).a / df.a

0    2.0
1    1.5
2    NaN
Name: a, dtype: float64

Metadata

Metadata

Assignees

Labels

P0Highest priority tasks requiring immediate fixbug 🦗Something isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions