spyder icon indicating copy to clipboard operation
spyder copied to clipboard

Improvement Suggestion On The Data Frame Scroll Bar + Bug

Open Chuck321123 opened this issue 10 months ago • 0 comments

Issue Report Checklist

Checklist checked

Problem Description

So in my original dataframe I have over 20 million rows but i want to see how row number 11 million look like. I scroll down, but find out I have to either wait several minutes or create a new code that cuts out to this exact row because the scrolling take forever. An improvement would be to add the teleportation bar next to the scrollbar for the dataframe viewer that is already present in the normal editor. This will instantly fix most of the scrolling where I can just click about the middle of the new bar. Another problem with todays vertical scrollbar is that when I scroll down it stop scrolling after 2 seconds, unless I move the mouse. I have demonstrated this in a video below. In order for the df to keep scrolling I have to constantly move my mouse which can become a little bit annoying. Would therefore be nice if these problems could be fixed in the future.

Video: https://github.com/spyder-ide/spyder/assets/123987501/258715e3-8181-409b-8e6c-8497fba9b1d6

What steps reproduce the problem?

import pandas as pd
import numpy as np

# Define parameters
num_rows = 20000000
num_groups = 200

# Generate random data
data = {
    'group': np.random.choice([f'group_{i}' for i in range(num_groups)], size=num_rows),
    'random_value': np.random.rand(num_rows)
}

# Convert data to DataFrame
df = pd.DataFrame(data)

What is the expected output?

That I can instantly jump to the middle of the df or a little bit beyond.

Versions

  • Spyder version: 5.5.2 (conda)
  • Python version: 3.12.2 64-bit
  • Qt version: 5.15.2
  • PyQt5 version: 5.15.10
  • Operating System: Windows-11-10.0.22631-SP0

Dependencies

# Mandatory:
atomicwrites >=1.2.0             :  1.4.1 (OK)
chardet >=2.0.0                  :  5.2.0 (OK)
cloudpickle >=0.5.0              :  3.0.0 (OK)
cookiecutter >=1.6.0             :  2.6.0 (OK)
diff_match_patch >=20181111      :  20230430 (OK)
intervaltree >=3.0.2             :  3.1.0 (OK)
IPython >=8.13.0,<9.0.0,!=8.17.1 :  8.22.2 (OK)
jedi >=0.17.2,<0.20.0            :  0.19.1 (OK)
jellyfish >=0.7                  :  1.0.3 (OK)
jsonschema >=3.2.0               :  4.21.1 (OK)
keyring >=17.0.0                 :  25.0.0 (OK)
nbconvert >=4.0                  :  7.16.3 (OK)
numpydoc >=0.6.0                 :  1.6.0 (OK)
paramiko >=2.4.0                 :  3.4.0 (OK)
parso >=0.7.0,<0.9.0             :  0.8.3 (OK)
pexpect >=4.4.0                  :  4.9.0 (OK)
pickleshare >=0.4                :  0.7.5 (OK)
psutil >=5.3                     :  5.9.8 (OK)
pygments >=2.0                   :  2.17.2 (OK)
pylint >=2.5.0,<3.1              :  3.0.4 (OK)
pylint_venv >=3.0.2              :  3.0.3 (OK)
pyls_spyder >=0.4.0              :  0.4.0 (OK)
pylsp >=1.10.0,<1.11.0           :  1.10.1 (OK)
pylsp_black >=2.0.0,<3.0.0       :  2.0.0 (OK)
qdarkstyle >=3.2.0,<3.3.0        :  3.2.3 (OK)
qstylizer >=0.2.2                :  0.2.2 (OK)
qtawesome >=1.2.1,<1.3.0         :  1.2.3 (OK)
qtconsole >=5.5.1,<5.6.0         :  5.5.1 (OK)
qtpy >=2.1.0                     :  2.4.1 (OK)
rtree >=0.9.7                    :  1.2.0 (OK)
setuptools >=49.6.0              :  68.2.2 (OK)
sphinx >=0.6.6                   :  7.2.6 (OK)
spyder_kernels >=2.5.1,<2.6.0    :  2.5.1 (OK)
textdistance >=4.2.0             :  4.6.1 (OK)
three_merge >=0.1.1              :  0.1.1 (OK)
watchdog >=0.10.3                :  4.0.0 (OK)
zmq >=24.0.0                     :  25.1.2 (OK)

# Optional:
cython >=0.21                    :  3.0.10 (OK)
matplotlib >=3.0.0               :  3.8.3 (OK)
numpy >=1.7                      :  1.26.4 (OK)
pandas >=1.1.1                   :  2.2.1 (OK)
scipy >=0.17.0                   :  1.12.0 (OK)
sympy >=0.7.3                    :  None (NOK)

Chuck321123 avatar Apr 04 '24 21:04 Chuck321123