All articles
Hardware GuidesBuying GuidesGPU & AI Servers

Best Workstation for Data Science & Analytics: Pandas, Spark & Big Excel

By Rohit, Founder ·

Best Workstation for Data Science & Analytics: Pandas, Spark & Big Excel

Quick answer: for most data science and analytics work, buy RAM first, then CPU cores, then fast NVMe storage, and treat the GPU as optional. The author of pandas wrote in 2017 that his rule of thumb is 5 to 10 times as much RAM as the size of your dataset, so a 10 GB dataset points to 64 GB and preferably 128 GB. A GPU pays off for deep learning and for GPU-accelerated libraries, but scikit-learn does not use one by default. Measure your dataset in memory, apply the table below, and pick a configuration from there.

This guide is for analysts, data scientists, researchers and small analytics teams in India who are choosing a desktop-class machine for pandas, SQL, Spark in local mode, notebooks and large Excel files. ProStation Systems builds brand-new custom tower servers and workstations, so we only quote what is published about the tools themselves and what is published on our servers page. We do not publish benchmark or speed-up figures, and nothing here is a performance promise. Last updated: 24 October 2026.

Where Data Science Time Actually Goes

Much everyday data work is limited by memory and disk, not by graphics hardware. Loading a file, joining tables, grouping, cleaning and feature engineering all run on the CPU and in RAM. When the data does not fit in RAM, the job slows to disk speed or stops with an out-of-memory error. That is why the first question to ask about a data science machine is "how big will my data be in memory?", not "which GPU?".

Three kinds of work, three different bottlenecks:

  • Analytics and reporting (Excel, SQL, BI dashboards): mostly RAM and a few fast cores.
  • Classical data science (pandas, Polars, DuckDB, scikit-learn, Spark local mode): RAM first, then cores, then NVMe for spill files and Parquet datasets.
  • Deep learning: GPU memory (VRAM) sets the limit. Our guides on the best GPU for AI and ML and VRAM, RAM and workstation sizing for fine-tuning cover that side.

If your work mixes these, our CPU vs GPU balance guide helps you decide where to put the budget.

How Much RAM Do You Need? A Dataset-Size Table

In a 2017 post on Apache Arrow and pandas internals, Wes McKinney, the creator of pandas, wrote: "Nowadays, my rule of thumb for pandas is that you should have 5 to 10 times as much RAM as the size of your dataset." His example was a 10 GB dataset needing about 64 GB, preferably 128 GB. The reason is that pandas often makes intermediate copies, and the official pandas scaling guide says so: "some pandas operations need to make intermediate copies," so a dataset that is a sizeable fraction of memory becomes unwieldy.

The rule is from 2017 and it is a rule of thumb, not a guarantee, so treat the table as a starting range:

Dataset size in memoryRAM at 5xRAM at 10xProStation tier whose published RAM range covers it
2 GB10 GB20 GBStarter (16 to 64 GB ECC DDR4)
5 GB25 GB50 GBStarter (16 to 64 GB)
10 GB50 GB100 GBPro (64 to 256 GB)
20 GB100 GB200 GBPro (64 to 256 GB)
50 GB250 GB500 GBUltra (256 to 512 GB)

The table is multiplication on the 5x to 10x rule. The tier column simply shows which published RAM range the figure falls in; the exact module count is confirmed in your quote.

Measure the memory size, not the file size. A CSV on disk and the same data in memory are different sizes. Load a sample and check it with df.memory_usage(deep=True).sum(), then scale up to the full row count.

Cut the Memory Before You Buy More

The pandas documentation lists cheap ways to shrink a dataset, and it is worth doing them first because they also make the job faster:

  • Load only the columns you need. In the pandas example, reading a subset of columns "uses about 1/10th the memory in this case" (usecols for CSV, columns= for Parquet).
  • Use efficient dtypes. In the same guide, converting a low-cardinality text column to category took it from 13,667,585 bytes to 1,051,241 bytes, and downcasting float64 to float32 halved each float column (8,409,608 to 4,204,804 bytes).
  • Chunk the work. Pandas says that if each chunk fits in memory, you can work with datasets much larger than memory, though operations such as groupby are harder to do chunk by chunk.
  • Switch engines for the heavy step. Polars documents a lazy API that applies projection pushdown (read only needed columns) and predicate pushdown (apply filters while reading), so it can "fit bigger datasets in memory and process them faster". DuckDB documents that it can process data larger than available memory by spilling to disk.

None of this replaces RAM for work that really needs the whole dataset in memory, such as large joins and model training. It means you buy RAM for the size you actually need.

Big Excel Files Without the Lag

Excel has hard limits and one important memory fact. Microsoft's specifications give a maximum worksheet size of 1,048,576 rows by 16,384 columns. For memory, 32-bit Excel is limited to 2 GB of virtual address space shared with add-ins, and the Data Model's share "might run up to 500 to 700 megabytes". Microsoft says the 64-bit environment "imposes no hard limits on file size", with workbook size limited only by available memory and system resources.

So for large workbooks, run 64-bit Excel and give the machine enough RAM. Data beyond about a million rows does not fit on a sheet at all. Keep it in a database or Parquet files and query it from your analysis tool, and use Excel for the summary. Excel runs on Windows, which matters for the operating-system choice below.

CPU Cores and Clocks for Pandas, Polars, SQL and Spark

How many cores help depends on the tool, so check before you pay for more. Run your real job and watch CPU use in Task Manager or htop. If one core sits at 100 percent while the rest idle, extra cores will not speed up that step, and a higher clock speed will. If all cores are busy, more cores will help.

  • Spark in local mode sets its default parallelism to the number of cores on the machine, per the Spark configuration documentation, so more cores means more parallel tasks.
  • Spark memory is not automatic. The default spark.driver.memory is 1g, and in client mode it must be set with --driver-memory or in the properties file before the JVM starts. A 128 GB machine running Spark with default settings will not use most of its RAM.
  • Polars and DuckDB are the engines to try when one pandas step is the slow part. Run the same step in each and watch the core use before you decide how many cores to buy.

ProStation tiers use Intel Xeon processors with ECC memory: Xeon E on Starter, Xeon Scalable on Pro and dual Xeon Scalable on Ultra. ECC (error-correcting) memory detects and corrects some memory errors, which matters for jobs that run for hours; see ECC vs non-ECC RAM for what it does and does not protect against.

When a GPU Helps and When It Is Wasted

Here is what the library documentation says:

  • scikit-learn: its FAQ says it does not add GPU support by default. Since 2023 a limited and growing list of estimators can run on a GPU if the data is a PyTorch or CuPy array and the Array API support is switched on, but tree-based models implemented in Cython are "fundamentally not array-based algorithms". Deep learning is out of scope for scikit-learn.
  • cuDF pandas accelerator: NVIDIA's cudf.pandas runs supported pandas operations on an NVIDIA GPU and falls back to pandas on the CPU for operations it does not support. It needs a compatible NVIDIA GPU, and the documentation page we read gives no speed-up number, so test your own workload.
  • Deep learning (PyTorch, TensorFlow): GPU memory decides which models and batch sizes fit. See our entry-level ML workstation roadmap and the AI and ML model training workstation guide.

A practical rule: if your pipeline is SQL, pandas, scikit-learn and gradient-boosted trees on tables, spend the budget on RAM and NVMe first. Add a GPU when you train neural networks or when you have tested that a GPU library speeds up your own steps. ProStation tiers list the GPU as optional on Starter, optional NVIDIA RTX on Pro, and NVIDIA RTX, A-series or Tesla on Ultra, with the exact card confirmed in the quote. If you only need a GPU for a short project, Serverwale GPU server rental is a separate option from our sister brand.

NVMe Storage and Local Databases

Fast storage matters in three places for data work: reading large files, writing and re-reading intermediate results, and spill files when a tool runs out of memory. DuckDB, for example, writes spilled data to a temporary directory on disk, so that scratch space should sit on fast storage with plenty of free capacity. That is our reading of how spill works, so size it from your own largest query.

  • Keep your working datasets in a columnar format such as Parquet, which lets tools read only the columns they need.
  • Keep the operating system, the datasets you use daily and the scratch directory on NVMe, and move cold archives to larger drives.
  • Plan for backup. RAID is not a backup, so keep a second copy of raw data you cannot recreate.

Our NVMe, SAS and SATA storage guide explains the interfaces. Published storage on the tiers is 1 TB NVMe on Starter, 2 TB NVMe plus HDD options on Pro, and 4 TB or more of NVMe in RAID on Ultra.

Windows or Ubuntu for Data Science?

Both work, and the better choice depends on your tools:

  • Windows is the natural choice if you live in Excel, Power BI or Windows-only software. You can still run Linux tools through WSL 2. One catch from Microsoft's WSL documentation: by default WSL 2 is given 50 percent of the Windows machine's memory, with swap at 25 percent of memory, and you change this in the .wslconfig file. If you do heavy work in WSL, set the memory limit deliberately. Microsoft also documents NVIDIA CUDA support inside WSL 2, so GPU libraries can run there.
  • Ubuntu gives the full RAM to your Python, Spark and database tools and is common on data science servers.

ProStation tiers list Ubuntu and Windows Server on Starter, and Ubuntu, Windows, VMware and Proxmox on Pro. The Ultra tier lists Ubuntu, VMware ESXi and Proxmox. If you need Windows desktop software on a very large machine, say so when you ask for a quote. For how a workstation differs from a server and why that matters here, read workstation vs server.

Three Starting Profiles: Analyst, Data Scientist, ML Engineer

ProfileTypical workWhere to startGPU
AnalystExcel, SQL, BI tools, pandas on datasets up to a few GB in memoryStarter tier: Intel Xeon E, 16 to 64 GB ECC DDR4, 1 TB NVMeUsually not needed
Data scientistNotebooks, pandas or Polars on 10 to 20 GB in memory, scikit-learn, Spark local modePro tier: Intel Xeon Scalable, 64 to 256 GB ECC DDR4, 2 TB NVMe with HDD optionsOptional
ML engineerLarge tables plus neural network training or fine-tuningPro or Ultra tier: up to dual Xeon Scalable and 512 GB ECC DDR4, 4 TB or more NVMe in RAID on UltraNVIDIA RTX, A-series or Tesla sized to your model

These are starting points from the tiers on our servers page, not benchmarks. Because ProStation builds to order, the configuration form lets you set the CPU, RAM, storage and GPU for your own dataset size.

Workstation, Laptop or Cloud?

  • Laptop: fine for small data. Before buying, check whether the RAM can be upgraded, because data work tends to outgrow memory first.
  • Cloud notebook or VM: useful for bursts and for sharing. Costs repeat every month, and data transfer and storage add up, so compare for your own usage. Our on-prem vs cloud GPU guide sets out the framework.
  • Dedicated workstation: a one-time purchase, your data stays on your own hardware, and the machine is available at any hour. If several people need it, read the shared GPU workstation guide for data science teams.

For what drives the price of a build and how to spend wisely, see custom workstation cost in India. ProStation does not publish fixed prices because the build depends on your choices; the quote form says you will receive a tailored configuration and pricing within 2 hours.

Why Choose ProStation Systems for a Data Science Machine

  • Brand-new builds with Intel Xeon processors and ECC DDR4 memory, configured to your dataset size rather than a fixed catalogue model.
  • Delivery in about 4 working days after configuration, with a 48-hour or longer burn-in test before dispatch (see how every build is stress-tested).
  • Warranty is one year on hardware, with extended cover available as a paid option; the warranty page has the terms.
  • Free consulting through the consulting page, and a UPS plan if the machine runs long jobs (see UPS sizing).

Teams in AI and research can also see AI and ML labs, IT and SaaS and the AI and ML use case. If you would rather compare with refurbished hardware, read new vs refurbished.

Checklist Before You Order

  • Load a sample and measure the dataset in memory, then scale to the full row count.
  • Multiply by 5 to 10 for pandas-style work, or measure peak memory on your real job.
  • Watch CPU use during a real run to see whether more cores or a faster clock will help.
  • Decide whether any library you rely on really uses a GPU, and how much VRAM your models need.
  • Choose Windows or Ubuntu, and set the WSL or Spark memory limits if you use them.
  • Size NVMe for datasets, scratch and spill space, and plan a backup.
  • Ask the supplier to confirm the configuration, warranty and delivery time in writing.

Frequently Asked Questions

Q1. How much RAM do I need for data science?
Start from the size of your dataset in memory. The pandas creator's 2017 rule of thumb is 5 to 10 times the dataset size, so 10 GB of data points to about 64 to 128 GB. You can need less if you load only the columns you need, use efficient data types or use an engine such as Polars or DuckDB, and more if you do large joins or model training on the full data.

Q2. Do I need a GPU for data science?
Not for most table-based work. scikit-learn does not use a GPU by default, and SQL, pandas and many Spark local jobs are bound by RAM, cores and disk. You need a GPU for deep learning, or if you have tested a GPU library such as the cuDF pandas accelerator on your own workload and it helps.

Q3. Is a workstation better than a laptop for data science?
For large data and long jobs, usually yes, because you can configure more memory and storage and run jobs for hours without a battery or thermal limit. For small datasets a laptop is enough. Check the RAM upgrade path before you buy any machine.

Q4. Can I run Spark locally?
Yes. Spark runs in local mode on one machine, and its default parallelism there equals the number of cores. Set the driver memory yourself, because the default is only 1g, and remember that local mode is a good fit for development and mid-size data, not for a multi-node cluster.

Q5. Should I use Windows or Ubuntu for data science?
Use Windows if you depend on Excel, Power BI or Windows-only software, and use WSL 2 for Linux tools. Remember that WSL 2 takes 50 percent of RAM by default. Use Ubuntu if your work is mostly Python, Spark and databases and you want all the RAM available to those tools.

Q6. What does a data science workstation cost in India?
ProStation does not publish fixed prices because the build depends on the RAM, storage, CPU and GPU you choose. Send your dataset size and tools through the configuration form or free consulting, and you will receive a tailored configuration and pricing within 2 hours.

Final Recommendation

Measure your data in memory, apply the 5 to 10 times rule as a starting range, and spend on RAM and NVMe before a GPU unless you train neural networks. Choose Ubuntu or Windows to match your tools, and set memory limits for WSL and Spark so the RAM you pay for is used. For a configuration sized to your data, contact ProStation Systems or call +91 87962 44410 (WhatsApp: wa.me/918796244410) for free consulting; the about page explains how we build and test.

Sources: Wes McKinney, Apache Arrow and the "10 Things I Hate About pandas" (21 September 2017, 5 to 10 times RAM rule of thumb); pandas documentation, Scaling to large datasets (intermediate copies, column selection, dtypes, chunking); Polars, Lazy API (projection and predicate pushdown); DuckDB, tuning workloads (larger-than-memory processing and spilling to disk); Apache Spark, configuration (spark.driver.memory default 1g, local-mode default parallelism); scikit-learn, FAQ (GPU support and Array API); NVIDIA, cudf.pandas; Microsoft, Excel specifications and limits, WSL advanced settings (default 50 percent memory, 25 percent swap) and NVIDIA CUDA on WSL 2. The RAM table is our arithmetic on the 2017 rule of thumb, and the profiles are starting points, not benchmarks; ProStation publishes no speed or throughput figures. Tool behaviour changes between releases, so re-check current documentation before purchase. Tier specifications are as published on the ProStation servers page.

Ready to build your perfect server?

Talk to our engineers — free, no obligation.