spyder
spyder copied to clipboard
Improvement Suggestion On The Data Frame Scroll Bar + Bug
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)