{"slug": "pandas", "name": "pandas", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Python library providing DataFrame structures and tools for data manipulation and analysis.", "recommenders": 6, "commenters": 19, "warners": 6, "score": 1.251, "rising": -1.96, "first": "2025-11-27", "latest": "2026-10-22", "why": "Valued for interactive, exploratory analysis of semi-structured data and as a core part of Python's data science stack.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 6, "neutral": 6, "compare": 1, "warn": 6}, "spark": [2, 1, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": ["Python data ecosystem", "Exploratory research"], "caveat": "Unintuitive API", "short_quote": "Pandas is fantastic for doing iterative and interactive research on semi-structured data.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://pandas.pydata.org", "pricing": "open source", "aliases": ["pandas", "Pandas"], "verdict": [{"text": "Valued for interactive, exploratory analysis of semi-structured data", "cites": [{"id": 758837024, "item_id": 47427314, "url": "https://news.ycombinator.com/item?id=47427314", "by": "short_sells_poo", "date": "2026-03-18", "stance": "recommend", "quote": "Pandas is fantastic for doing iterative and interactive research on semi-structured data.", "excerpt": "You'll get a lot of responses saying Polars is better than Pandas. I argue those people are missing the point and don't understand Pandas' real strength or why people choose Pandas today. Pandas was never meant to be a technologist's tool. It was meant to be a researcher's tool and was unfortunately coopted to be a technical solution as well. It has not well escaped it's roots. Pandas is fantastic for doing iterative", "context": "", "use_case": "interactive research, timeseries analysis", "switched_from": "", "story": "Pandas Exercises for Data Analysis (Interactive)"}, {"id": 737085968, "item_id": 46067873, "url": "https://news.ycombinator.com/item?id=46067873", "by": "drtc", "date": "2025-11-27", "stance": "recommend", "quote": "I think it is the plotting ecosystem that keeps me in the Python universe.", "excerpt": "I work as a data scientist where I do lots of exploratory work using Python+Pandas/Polars+Jupyter notebooks, I have to say that I agree with the title of the article. I feel like I'm using Python more and more in a way that is just not native to it. Strict typing is simply necessary at some point in time, but I don't get any of the performance benefits or compile-time warnings that other languages provide. But more t", "context": "data scientist", "use_case": "tabular data analysis", "switched_from": "", "story": "Python is not a great language for data science"}]}, {"text": " and as a core part of Python's data science stack.", "cites": [{"id": 771744708, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}, {"id": 737614425, "item_id": 46100901, "url": "https://news.ycombinator.com/item?id=46100901", "by": "auxym", "date": "2025-11-30", "stance": "recommend", "quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "excerpt": "Scoop (https://scoop.sh/), a package manager for windows that is essential to make Windows usable for me. Sourcegit is my new favorite git client. Git in general, of course. Linux and also the people behind RT_PREEMPT, I am excited to see it merged into mainline this year. KDE has been my favorite DE for years and I use many of their apps too, such as Kate. Thanks to everyone contributing to the KDE project. The enti", "context": "", "use_case": "data science", "switched_from": "", "story": "Ask HN: What open source projects are you grateful for?"}, {"id": 741686211, "item_id": 46355388, "url": "https://news.ycombinator.com/item?id=46355388", "by": "loumf", "date": "2025-12-22", "stance": "neutral", "quote": "I needed Pandas or numpy", "excerpt": "I have recently gone all in on Python. Before I decided this, I was using Python for projects where I needed Pandas or numpy. I used React/TypeScript/Node for web applications. But, I moved to Django/HTMX. The main reason is to avoid npm, but also, I wanted something with more built-in defaults (my web apps have simple needs). It has nothing to do with the language -- it's more the ecosystem for me. I considered Ruby", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Ask HN: Why Did Python Win?"}]}, {"text": " The most common complaint is an unintuitive, footgun-prone API,", "cites": [{"id": 800463536, "item_id": 50028971, "url": "https://news.ycombinator.com/item?id=50028971", "by": "Breza", "date": "2026-10-10", "stance": "warn", "quote": "Pandas makes that kind of simple thing painfully unintuitive.", "excerpt": "I also found myself reading the manual all the time. I have a toy project I use for learning different tools. Given a CSV containing every MLB game ever played, calculate the win percentage for each team during its first season. Pandas makes that kind of simple thing painfully unintuitive. Tools like Polars and dplyr and even SQL require code that's far closer to how people think.", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Polars 2.0"}, {"id": 794697218, "item_id": 49668576, "url": "https://news.ycombinator.com/item?id=49668576", "by": "appplication", "date": "2026-09-12", "stance": "warn", "quote": "I used to spend my days unwinding bad habits DS pick up from years of panda abuse.", "excerpt": "Not to mention less footguns. I used to spend my days unwinding bad habits DS pick up from years of panda abuse. Credit to pandas for popularizing dataframes in Python, but polars and duckdb are objectively better APIs in addition to their implementation improvements. Agree that it\u2019s time we let it go.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 792773937, "item_id": 49548371, "url": "https://news.ycombinator.com/item?id=49548371", "by": "Kydlaw", "date": "2026-09-03", "stance": "compare", "quote": "enhanced ergonomics compared to Pandas and SQL", "excerpt": "Happy to see activity around Polars. This has been my go-to library for data processing due to the enhanced ergonomics compared to Pandas and SQL. But they were a bit quiet lately, and I started looking more and more into DuckDB recently\u2026 until the recent acquisition of DuckLab by AWS", "context": "", "use_case": "data processing", "switched_from": "", "story": "Pre-Release of Polars 2.0"}]}, {"text": " and many commenters now prefer Polars or DuckDB.", "cites": [{"id": 794694337, "item_id": 49668396, "url": "https://news.ycombinator.com/item?id=49668396", "by": "minimaxir", "date": "2026-09-12", "stance": "warn", "quote": "it is much better than pandas", "excerpt": "It's been a while since I've seen an actual data science post submitted to Hacker News: both because AI has superset a lot of DS tasks (e.g. vector embeddings), but also because not much new has happened in DS. Polars has been around for a bit and as noted it is much better than pandas, but otherwise the DS ecosystem has been somewhat stagnant. I'd write more tutorials about how to use data science tooling but one co", "context": "data science writer", "use_case": "data science", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794693954, "item_id": 49668372, "url": "https://news.ycombinator.com/item?id=49668372", "by": "Vaslo", "date": "2026-09-12", "stance": "warn", "quote": "I try to get my team off it but it\u2019s an uphill battle.", "excerpt": "I use polars or duckdb now exclusively. Better syntax, better performance. But pandas is deeply entrenched - I try to get my team off it but it\u2019s an uphill battle. It\u2019s not going anywhere anytime soon.", "context": "leads a team", "use_case": "dataframe processing", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794696017, "item_id": 49668501, "url": "https://news.ycombinator.com/item?id=49668501", "by": "minimaxir", "date": "2026-09-12", "stance": "warn", "quote": "That inertia is not a good thing, and it's partially why there's stagnation in data science.", "excerpt": "That inertia is not a good thing, and it's partially why there's stagnation in data science. Polars is more than mature enough in both documentation and resources for it to be a daily driver.", "context": "", "use_case": "", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 799717154, "item_id": 49982322, "url": "https://news.ycombinator.com/item?id=49982322", "by": "jszymborski", "date": "2026-10-06", "stance": "neutral", "quote": "I'm just too used to the Pandas API to use it as a replacement", "excerpt": "I've nearly entirely switched to DuckDB for anything more than like 500 or 1,000 rows or if there are a tonne of columns. Polars is great, but I'm just too used to the Pandas API to use it as a replacement for the cases where DuckDB is overkill.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Polars 2.0"}]}], "praise": [{"label": "Python data ecosystem", "summary": "Seen as an essential piece of the Python data science stack alongside numpy, scipy and matplotlib.", "quotes": [{"id": 737614425, "item_id": 46100901, "url": "https://news.ycombinator.com/item?id=46100901", "by": "auxym", "date": "2025-11-30", "stance": "recommend", "quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "excerpt": "Scoop (https://scoop.sh/), a package manager for windows that is essential to make Windows usable for me. Sourcegit is my new favorite git client. Git in general, of course. Linux and also the people behind RT_PREEMPT, I am excited to see it merged into mainline this year. KDE has been my favorite DE for years and I use many of their apps too, such as Kate. Thanks to everyone contributing to the KDE project. The enti", "context": "", "use_case": "data science", "switched_from": "", "story": "Ask HN: What open source projects are you grateful for?"}, {"id": 771744708, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}, {"id": 741686211, "item_id": 46355388, "url": "https://news.ycombinator.com/item?id=46355388", "by": "loumf", "date": "2025-12-22", "stance": "neutral", "quote": "I needed Pandas or numpy", "excerpt": "I have recently gone all in on Python. Before I decided this, I was using Python for projects where I needed Pandas or numpy. I used React/TypeScript/Node for web applications. But, I moved to Django/HTMX. The main reason is to avoid npm, but also, I wanted something with more built-in defaults (my web apps have simple needs). It has nothing to do with the language -- it's more the ecosystem for me. I considered Ruby", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Ask HN: Why Did Python Win?"}]}, {"label": "Exploratory research", "summary": "Described as fantastic for iterative, interactive research and exploratory timeseries work.", "quotes": [{"id": 758837024, "item_id": 47427314, "url": "https://news.ycombinator.com/item?id=47427314", "by": "short_sells_poo", "date": "2026-03-18", "stance": "recommend", "quote": "Pandas is fantastic for doing iterative and interactive research on semi-structured data.", "excerpt": "You'll get a lot of responses saying Polars is better than Pandas. I argue those people are missing the point and don't understand Pandas' real strength or why people choose Pandas today. Pandas was never meant to be a technologist's tool. It was meant to be a researcher's tool and was unfortunately coopted to be a technical solution as well. It has not well escaped it's roots. Pandas is fantastic for doing iterative", "context": "", "use_case": "interactive research, timeseries analysis", "switched_from": "", "story": "Pandas Exercises for Data Analysis (Interactive)"}, {"id": 737085968, "item_id": 46067873, "url": "https://news.ycombinator.com/item?id=46067873", "by": "drtc", "date": "2025-11-27", "stance": "recommend", "quote": "I think it is the plotting ecosystem that keeps me in the Python universe.", "excerpt": "I work as a data scientist where I do lots of exploratory work using Python+Pandas/Polars+Jupyter notebooks, I have to say that I agree with the title of the article. I feel like I'm using Python more and more in a way that is just not native to it. Strict typing is simply necessary at some point in time, but I don't get any of the performance benefits or compile-time warnings that other languages provide. But more t", "context": "data scientist", "use_case": "tabular data analysis", "switched_from": "", "story": "Python is not a great language for data science"}]}, {"label": "Data loading and cleaning", "summary": "Used to pull data from databases and clean or parse datasets.", "quotes": [{"id": 803103090, "item_id": 50193943, "url": "https://news.ycombinator.com/item?id=50193943", "by": "Nihilartikel", "date": "2026-10-22", "stance": "neutral", "quote": "fill my local duckdb with datasets from each source with pandas.read_sql", "excerpt": "It's a really good daily multitool for data. E.g. I often have to do work on multiple csv and excel files, joins and filters etc. I hate excel but am fine with SQL. With a duckdb session in dbeaver, I can literally select, project, and join the files on disk as if they were tables. It saves so much time and fuss For bigger integrations I use it as a trino alternative. If I have to combine multiple data sources I'll w", "context": "", "use_case": "loading data from sources", "switched_from": "", "story": "DuckDB 2.0.0 LTS \u201cCinnamon Teal\u201d"}, {"id": 799671282, "item_id": 49979455, "url": "https://news.ycombinator.com/item?id=49979455", "by": "mrtimo", "date": "2026-10-06", "stance": "neutral", "quote": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code.", "excerpt": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code. OTOH, With DuckDB with one SQL statement I can replace 40+ lines of polars/pandas. You may reply, SQL isn't as easy to understand! Fair point, it's a declarative language... which is why I use Malloy. Malloy is to TypeScript as Javascript is to SQL. Malloy is much easier to read and write (just as TypeScript is) because it has a ", "context": "", "use_case": "data cleaning", "switched_from": "", "story": "Polars 2.0"}, {"id": 741949632, "item_id": 46371852, "url": "https://news.ycombinator.com/item?id=46371852", "by": "chocoboaus3", "date": "2025-12-23", "stance": "neutral", "quote": "parses data (using pandas, python etc, not LLM but an LLM coded it)", "excerpt": "I used AI to build an app just for myself that parses data (using pandas, python etc, not LLM but an LLM coded it) for a report that i need to produce it's purely for myself, no one else. I think this is what AI can do at the moment, in terms of mass market SaaS vibe codes, it will be harder. Happy to be proven wrong.", "context": "", "use_case": "report data parsing", "switched_from": "", "story": "AI Can Write Your Code. It Can't Do Your Job"}]}, {"label": "Familiar API", "summary": "Some users are comfortable enough with its API that they stick with it over Polars.", "quotes": [{"id": 799717154, "item_id": 49982322, "url": "https://news.ycombinator.com/item?id=49982322", "by": "jszymborski", "date": "2026-10-06", "stance": "neutral", "quote": "I'm just too used to the Pandas API to use it as a replacement", "excerpt": "I've nearly entirely switched to DuckDB for anything more than like 500 or 1,000 rows or if there are a tonne of columns. Polars is great, but I'm just too used to the Pandas API to use it as a replacement for the cases where DuckDB is overkill.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Polars 2.0"}, {"id": 763865986, "item_id": 47741624, "url": "https://news.ycombinator.com/item?id=47741624", "by": "shakermaker83", "date": "2026-04-12", "stance": "neutral", "quote": "am comfortable with pandas", "excerpt": "A little more context of it helps. By day I\u2019m an actuary. I went to school for math and computer science. I know Python, Django, Vue\u2026 am comfortable with pandas, SQL, experimenting with streamlit. All of my industry knowledge is in large insurance companies that have their own internal IT departments. The exact opposite of who will go for a scrappy solo developer. But, I love solving problems, and have always wanted ", "context": "Actuary with math and CS background", "use_case": "data analysis", "switched_from": "", "story": "Ask HN: How do you find / validate niches for an online business?"}]}, {"label": "Production reliability", "summary": "One team runs thousands of lines of pandas on big data with rare production bugs, using schema wrappers and a type checker.", "quotes": [{"id": 738072064, "item_id": 46129504, "url": "https://news.ycombinator.com/item?id=46129504", "by": "refactor_master", "date": "2025-12-02", "stance": "recommend", "quote": "the code base I work on has thousands and THOUSANDS of lines of Pandas churning through big data, and I can't remember the last time it lead to a bug or error in production.", "excerpt": "I honestly don't get why you'd hate pandas more than anything else in the Python ecosystem. It's probably not the best tool in the world, and sure, like everybody else I'd rewrite the universe in Rust if I could start over, and had infinite time to catch up. But the code base I work on has thousands and THOUSANDS of lines of Pandas churning through big data, and I can't remember the last time it lead to a bug or erro", "context": "works on large pandas codebase", "use_case": "big data processing", "switched_from": "", "story": "Python Data Science Handbook"}]}], "caveats": [{"label": "Unintuitive API", "summary": "Commenters find simple tasks painfully unintuitive and say the API encourages bad habits and footguns.", "quotes": [{"id": 800463536, "item_id": 50028971, "url": "https://news.ycombinator.com/item?id=50028971", "by": "Breza", "date": "2026-10-10", "stance": "warn", "quote": "Pandas makes that kind of simple thing painfully unintuitive.", "excerpt": "I also found myself reading the manual all the time. I have a toy project I use for learning different tools. Given a CSV containing every MLB game ever played, calculate the win percentage for each team during its first season. Pandas makes that kind of simple thing painfully unintuitive. Tools like Polars and dplyr and even SQL require code that's far closer to how people think.", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Polars 2.0"}, {"id": 794697218, "item_id": 49668576, "url": "https://news.ycombinator.com/item?id=49668576", "by": "appplication", "date": "2026-09-12", "stance": "warn", "quote": "I used to spend my days unwinding bad habits DS pick up from years of panda abuse.", "excerpt": "Not to mention less footguns. I used to spend my days unwinding bad habits DS pick up from years of panda abuse. Credit to pandas for popularizing dataframes in Python, but polars and duckdb are objectively better APIs in addition to their implementation improvements. Agree that it\u2019s time we let it go.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 792773937, "item_id": 49548371, "url": "https://news.ycombinator.com/item?id=49548371", "by": "Kydlaw", "date": "2026-09-03", "stance": "compare", "quote": "enhanced ergonomics compared to Pandas and SQL", "excerpt": "Happy to see activity around Polars. This has been my go-to library for data processing due to the enhanced ergonomics compared to Pandas and SQL. But they were a bit quiet lately, and I started looking more and more into DuckDB recently\u2026 until the recent acquisition of DuckLab by AWS", "context": "", "use_case": "data processing", "switched_from": "", "story": "Pre-Release of Polars 2.0"}]}, {"label": "Better alternatives", "summary": "Several commenters say Polars and DuckDB offer better syntax and performance.", "quotes": [{"id": 794694337, "item_id": 49668396, "url": "https://news.ycombinator.com/item?id=49668396", "by": "minimaxir", "date": "2026-09-12", "stance": "warn", "quote": "it is much better than pandas", "excerpt": "It's been a while since I've seen an actual data science post submitted to Hacker News: both because AI has superset a lot of DS tasks (e.g. vector embeddings), but also because not much new has happened in DS. Polars has been around for a bit and as noted it is much better than pandas, but otherwise the DS ecosystem has been somewhat stagnant. I'd write more tutorials about how to use data science tooling but one co", "context": "data science writer", "use_case": "data science", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794693954, "item_id": 49668372, "url": "https://news.ycombinator.com/item?id=49668372", "by": "Vaslo", "date": "2026-09-12", "stance": "warn", "quote": "I try to get my team off it but it\u2019s an uphill battle.", "excerpt": "I use polars or duckdb now exclusively. Better syntax, better performance. But pandas is deeply entrenched - I try to get my team off it but it\u2019s an uphill battle. It\u2019s not going anywhere anytime soon.", "context": "leads a team", "use_case": "dataframe processing", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794697218, "item_id": 49668576, "url": "https://news.ycombinator.com/item?id=49668576", "by": "appplication", "date": "2026-09-12", "stance": "warn", "quote": "I used to spend my days unwinding bad habits DS pick up from years of panda abuse.", "excerpt": "Not to mention less footguns. I used to spend my days unwinding bad habits DS pick up from years of panda abuse. Credit to pandas for popularizing dataframes in Python, but polars and duckdb are objectively better APIs in addition to their implementation improvements. Agree that it\u2019s time we let it go.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Pandas Should Go Extinct"}]}, {"label": "Entrenched inertia", "summary": "Its entrenchment makes moving teams to alternatives an uphill battle, which some blame for stagnation.", "quotes": [{"id": 794693954, "item_id": 49668372, "url": "https://news.ycombinator.com/item?id=49668372", "by": "Vaslo", "date": "2026-09-12", "stance": "warn", "quote": "I try to get my team off it but it\u2019s an uphill battle.", "excerpt": "I use polars or duckdb now exclusively. Better syntax, better performance. But pandas is deeply entrenched - I try to get my team off it but it\u2019s an uphill battle. It\u2019s not going anywhere anytime soon.", "context": "leads a team", "use_case": "dataframe processing", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794696017, "item_id": 49668501, "url": "https://news.ycombinator.com/item?id=49668501", "by": "minimaxir", "date": "2026-09-12", "stance": "warn", "quote": "That inertia is not a good thing, and it's partially why there's stagnation in data science.", "excerpt": "That inertia is not a good thing, and it's partially why there's stagnation in data science. Polars is more than mature enough in both documentation and resources for it to be a daily driver.", "context": "", "use_case": "", "switched_from": "", "story": "Pandas Should Go Extinct"}]}, {"label": "Messy code", "summary": "Pandas notebooks often end up as hard-to-follow sequential wrangling.", "quotes": [{"id": 783025664, "item_id": 48939104, "url": "https://news.ycombinator.com/item?id=48939104", "by": "estetlinus", "date": "2026-07-16", "stance": "warn", "quote": "it is such a horrible tools", "excerpt": "I love what I am hearing. I still see a lot of engineers using pandas, but it is such a horrible tools. You usually find an abandoned notebook with 100s of \u201ddf_final_2\u201d with sequential wrangling, making it impossible to understand what\u2019s happening. Notebooks are also horrible for the same reason IMO. With chat-your-data you have Hex, Claude + MCP, snowflake, Databricks etc\u2026 everyone\u2019s in on it.", "context": "", "use_case": "data wrangling", "switched_from": "", "story": "Guide to data tools landscape for developers"}]}, {"label": "Verbosity", "summary": "One user says a single DuckDB SQL statement can replace 40+ lines of pandas or Polars.", "quotes": [{"id": 799671282, "item_id": 49979455, "url": "https://news.ycombinator.com/item?id=49979455", "by": "mrtimo", "date": "2026-10-06", "stance": "neutral", "quote": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code.", "excerpt": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code. OTOH, With DuckDB with one SQL statement I can replace 40+ lines of polars/pandas. You may reply, SQL isn't as easy to understand! Fair point, it's a declarative language... which is why I use Malloy. Malloy is to TypeScript as Javascript is to SQL. Malloy is much easier to read and write (just as TypeScript is) because it has a ", "context": "", "use_case": "data cleaning", "switched_from": "", "story": "Polars 2.0"}]}, {"label": "Internal design", "summary": "Even its original author has noted inherent shortcomings, according to one commenter.", "quotes": [{"id": 758833136, "item_id": 47427071, "url": "https://news.ycombinator.com/item?id=47427071", "by": "ronfriedhaber", "date": "2026-03-18", "stance": "recommend", "quote": "Pandas is terrific, yet even its original author has noted inherent shortcomings [1]", "excerpt": "Pandas is terrific, yet even its original author has noted inherent shortcomings [1], and there exist alternatives. Polars seems to be the most prominent competitor in the Python DataFrame space, and DuckDB appears to pursue an approach similar to SQLite, but columnar. I am personally working on a solution to a broader problem, which can also be viewed as an alternative to Pandas [2]. [1] https://wesmckinney.com/blog", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Pandas Exercises for Data Analysis (Interactive)"}]}], "who": [{"by": "shakermaker83", "context": "Actuary with math and CS background", "url": "https://news.ycombinator.com/item?id=47741624", "date": "2026-04-12"}, {"by": "refactor_master", "context": "works on large pandas codebase", "url": "https://news.ycombinator.com/item?id=46129504", "date": "2025-12-02"}, {"by": "drtc", "context": "data scientist", "url": "https://news.ycombinator.com/item?id=46067873", "date": "2025-11-27"}], "tags": ["for data scientists", "for exploratory analysis", "for Python users", "for data cleaning"], "use_cases": ["data analysis", "dataframes", "data science", "loading data from sources", "data cleaning", "dataframe processing"], "compared": [{"slug": "polars", "name": "Polars", "co": 23, "switched_from": 0, "switched_to": 7}, {"slug": "duckdb", "name": "DuckDB", "co": 15, "switched_from": 0, "switched_to": 4}, {"slug": "numpy", "name": "NumPy", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "scipy", "name": "SciPy", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "django", "name": "Django", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "jupyter", "name": "Jupyter", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "matplotlib", "name": "Matplotlib", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49668198", "title": "Pandas Should Go Extinct", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=49977177", "title": "Polars 2.0", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=47367601", "title": "Pandas Exercises for Data Analysis (Interactive)", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50181136", "title": "DuckDB 2.0.0 LTS \u201cCinnamon Teal\u201d", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49546753", "title": "Pre-Release of Polars 2.0", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48935510", "title": "Guide to data tools landscape for developers", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 2}, "2025-12": {"recommend": 1, "warn": 1, "neutral": 2}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 2}, "2026-04": {"neutral": 1}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {"warn": 1}, "2026-08": {}, "2026-09": {"compare": 1, "warn": 3}, "2026-10": {"neutral": 3, "warn": 1}}, "quotes": [{"id": 803103090, "item_id": 50193943, "url": "https://news.ycombinator.com/item?id=50193943", "by": "Nihilartikel", "date": "2026-10-22", "stance": "neutral", "quote": "fill my local duckdb with datasets from each source with pandas.read_sql", "excerpt": "It's a really good daily multitool for data. E.g. I often have to do work on multiple csv and excel files, joins and filters etc. I hate excel but am fine with SQL. With a duckdb session in dbeaver, I can literally select, project, and join the files on disk as if they were tables. It saves so much time and fuss For bigger integrations I use it as a trino alternative. If I have to combine multiple data sources I'll w", "context": "", "use_case": "loading data from sources", "switched_from": "", "story": "DuckDB 2.0.0 LTS \u201cCinnamon Teal\u201d"}, {"id": 800463536, "item_id": 50028971, "url": "https://news.ycombinator.com/item?id=50028971", "by": "Breza", "date": "2026-10-10", "stance": "warn", "quote": "Pandas makes that kind of simple thing painfully unintuitive.", "excerpt": "I also found myself reading the manual all the time. I have a toy project I use for learning different tools. Given a CSV containing every MLB game ever played, calculate the win percentage for each team during its first season. Pandas makes that kind of simple thing painfully unintuitive. Tools like Polars and dplyr and even SQL require code that's far closer to how people think.", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Polars 2.0"}, {"id": 799717154, "item_id": 49982322, "url": "https://news.ycombinator.com/item?id=49982322", "by": "jszymborski", "date": "2026-10-06", "stance": "neutral", "quote": "I'm just too used to the Pandas API to use it as a replacement", "excerpt": "I've nearly entirely switched to DuckDB for anything more than like 500 or 1,000 rows or if there are a tonne of columns. Polars is great, but I'm just too used to the Pandas API to use it as a replacement for the cases where DuckDB is overkill.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Polars 2.0"}, {"id": 799671282, "item_id": 49979455, "url": "https://news.ycombinator.com/item?id=49979455", "by": "mrtimo", "date": "2026-10-06", "stance": "neutral", "quote": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code.", "excerpt": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code. OTOH, With DuckDB with one SQL statement I can replace 40+ lines of polars/pandas. You may reply, SQL isn't as easy to understand! Fair point, it's a declarative language... which is why I use Malloy. Malloy is to TypeScript as Javascript is to SQL. Malloy is much easier to read and write (just as TypeScript is) because it has a ", "context": "", "use_case": "data cleaning", "switched_from": "", "story": "Polars 2.0"}, {"id": 794697218, "item_id": 49668576, "url": "https://news.ycombinator.com/item?id=49668576", "by": "appplication", "date": "2026-09-12", "stance": "warn", "quote": "I used to spend my days unwinding bad habits DS pick up from years of panda abuse.", "excerpt": "Not to mention less footguns. I used to spend my days unwinding bad habits DS pick up from years of panda abuse. Credit to pandas for popularizing dataframes in Python, but polars and duckdb are objectively better APIs in addition to their implementation improvements. Agree that it\u2019s time we let it go.", "context": "", "use_case": "dataframes", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794696017, "item_id": 49668501, "url": "https://news.ycombinator.com/item?id=49668501", "by": "minimaxir", "date": "2026-09-12", "stance": "warn", "quote": "That inertia is not a good thing, and it's partially why there's stagnation in data science.", "excerpt": "That inertia is not a good thing, and it's partially why there's stagnation in data science. Polars is more than mature enough in both documentation and resources for it to be a daily driver.", "context": "", "use_case": "", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794694337, "item_id": 49668396, "url": "https://news.ycombinator.com/item?id=49668396", "by": "minimaxir", "date": "2026-09-12", "stance": "warn", "quote": "it is much better than pandas", "excerpt": "It's been a while since I've seen an actual data science post submitted to Hacker News: both because AI has superset a lot of DS tasks (e.g. vector embeddings), but also because not much new has happened in DS. Polars has been around for a bit and as noted it is much better than pandas, but otherwise the DS ecosystem has been somewhat stagnant. I'd write more tutorials about how to use data science tooling but one co", "context": "data science writer", "use_case": "data science", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 794693954, "item_id": 49668372, "url": "https://news.ycombinator.com/item?id=49668372", "by": "Vaslo", "date": "2026-09-12", "stance": "warn", "quote": "I try to get my team off it but it\u2019s an uphill battle.", "excerpt": "I use polars or duckdb now exclusively. Better syntax, better performance. But pandas is deeply entrenched - I try to get my team off it but it\u2019s an uphill battle. It\u2019s not going anywhere anytime soon.", "context": "leads a team", "use_case": "dataframe processing", "switched_from": "", "story": "Pandas Should Go Extinct"}, {"id": 792773937, "item_id": 49548371, "url": "https://news.ycombinator.com/item?id=49548371", "by": "Kydlaw", "date": "2026-09-03", "stance": "compare", "quote": "enhanced ergonomics compared to Pandas and SQL", "excerpt": "Happy to see activity around Polars. This has been my go-to library for data processing due to the enhanced ergonomics compared to Pandas and SQL. But they were a bit quiet lately, and I started looking more and more into DuckDB recently\u2026 until the recent acquisition of DuckLab by AWS", "context": "", "use_case": "data processing", "switched_from": "", "story": "Pre-Release of Polars 2.0"}, {"id": 783025664, "item_id": 48939104, "url": "https://news.ycombinator.com/item?id=48939104", "by": "estetlinus", "date": "2026-07-16", "stance": "warn", "quote": "it is such a horrible tools", "excerpt": "I love what I am hearing. I still see a lot of engineers using pandas, but it is such a horrible tools. You usually find an abandoned notebook with 100s of \u201ddf_final_2\u201d with sequential wrangling, making it impossible to understand what\u2019s happening. Notebooks are also horrible for the same reason IMO. With chat-your-data you have Hex, Claude + MCP, snowflake, Databricks etc\u2026 everyone\u2019s in on it.", "context": "", "use_case": "data wrangling", "switched_from": "", "story": "Guide to data tools landscape for developers"}, {"id": 771744708, "item_id": 48234044, "url": "https://news.ycombinator.com/item?id=48234044", "by": "ktpsns", "date": "2026-05-22", "stance": "recommend", "quote": "the open source ecosystem is great and matlab would be my go-to tool if they would not exist", "excerpt": "Matlab inspired the scilab ecosystem, which is based on numpy, scipy, matplotlib, pandas. This was a major driver for the data science industry for a decade before AI kicked in and tensorflow, etc. was also built ontop of these libraries. While I personally try to avoid contemporary matlab at any cost, the open source ecosystem is great and matlab would be my go-to tool if they would not exist.", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026"}, {"id": 763865986, "item_id": 47741624, "url": "https://news.ycombinator.com/item?id=47741624", "by": "shakermaker83", "date": "2026-04-12", "stance": "neutral", "quote": "am comfortable with pandas", "excerpt": "A little more context of it helps. By day I\u2019m an actuary. I went to school for math and computer science. I know Python, Django, Vue\u2026 am comfortable with pandas, SQL, experimenting with streamlit. All of my industry knowledge is in large insurance companies that have their own internal IT departments. The exact opposite of who will go for a scrappy solo developer. But, I love solving problems, and have always wanted ", "context": "Actuary with math and CS background", "use_case": "data analysis", "switched_from": "", "story": "Ask HN: How do you find / validate niches for an online business?"}, {"id": 758837024, "item_id": 47427314, "url": "https://news.ycombinator.com/item?id=47427314", "by": "short_sells_poo", "date": "2026-03-18", "stance": "recommend", "quote": "Pandas is fantastic for doing iterative and interactive research on semi-structured data.", "excerpt": "You'll get a lot of responses saying Polars is better than Pandas. I argue those people are missing the point and don't understand Pandas' real strength or why people choose Pandas today. Pandas was never meant to be a technologist's tool. It was meant to be a researcher's tool and was unfortunately coopted to be a technical solution as well. It has not well escaped it's roots. Pandas is fantastic for doing iterative", "context": "", "use_case": "interactive research, timeseries analysis", "switched_from": "", "story": "Pandas Exercises for Data Analysis (Interactive)"}, {"id": 758833136, "item_id": 47427071, "url": "https://news.ycombinator.com/item?id=47427071", "by": "ronfriedhaber", "date": "2026-03-18", "stance": "recommend", "quote": "Pandas is terrific, yet even its original author has noted inherent shortcomings [1]", "excerpt": "Pandas is terrific, yet even its original author has noted inherent shortcomings [1], and there exist alternatives. Polars seems to be the most prominent competitor in the Python DataFrame space, and DuckDB appears to pursue an approach similar to SQLite, but columnar. I am personally working on a solution to a broader problem, which can also be viewed as an alternative to Pandas [2]. [1] https://wesmckinney.com/blog", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Pandas Exercises for Data Analysis (Interactive)"}, {"id": 741949632, "item_id": 46371852, "url": "https://news.ycombinator.com/item?id=46371852", "by": "chocoboaus3", "date": "2025-12-23", "stance": "neutral", "quote": "parses data (using pandas, python etc, not LLM but an LLM coded it)", "excerpt": "I used AI to build an app just for myself that parses data (using pandas, python etc, not LLM but an LLM coded it) for a report that i need to produce it's purely for myself, no one else. I think this is what AI can do at the moment, in terms of mass market SaaS vibe codes, it will be harder. Happy to be proven wrong.", "context": "", "use_case": "report data parsing", "switched_from": "", "story": "AI Can Write Your Code. It Can't Do Your Job"}, {"id": 741686211, "item_id": 46355388, "url": "https://news.ycombinator.com/item?id=46355388", "by": "loumf", "date": "2025-12-22", "stance": "neutral", "quote": "I needed Pandas or numpy", "excerpt": "I have recently gone all in on Python. Before I decided this, I was using Python for projects where I needed Pandas or numpy. I used React/TypeScript/Node for web applications. But, I moved to Django/HTMX. The main reason is to avoid npm, but also, I wanted something with more built-in defaults (my web apps have simple needs). It has nothing to do with the language -- it's more the ecosystem for me. I considered Ruby", "context": "", "use_case": "data analysis", "switched_from": "", "story": "Ask HN: Why Did Python Win?"}, {"id": 741186032, "item_id": 46324127, "url": "https://news.ycombinator.com/item?id=46324127", "by": "d--b", "date": "2025-12-19", "stance": "warn", "quote": "What's worse is that Python libraries like pandas do that too.", "excerpt": "What's worse is that Python libraries like pandas do that too. The more I use Python in a professional environment the less I think it is suited for professional environments.", "context": "uses Python professionally", "use_case": "", "switched_from": "", "story": "Breaking Changes in Python-3.14"}, {"id": 738072064, "item_id": 46129504, "url": "https://news.ycombinator.com/item?id=46129504", "by": "refactor_master", "date": "2025-12-02", "stance": "recommend", "quote": "the code base I work on has thousands and THOUSANDS of lines of Pandas churning through big data, and I can't remember the last time it lead to a bug or error in production.", "excerpt": "I honestly don't get why you'd hate pandas more than anything else in the Python ecosystem. It's probably not the best tool in the world, and sure, like everybody else I'd rewrite the universe in Rust if I could start over, and had infinite time to catch up. But the code base I work on has thousands and THOUSANDS of lines of Pandas churning through big data, and I can't remember the last time it lead to a bug or erro", "context": "works on large pandas codebase", "use_case": "big data processing", "switched_from": "", "story": "Python Data Science Handbook"}, {"id": 737614425, "item_id": 46100901, "url": "https://news.ycombinator.com/item?id=46100901", "by": "auxym", "date": "2025-11-30", "stance": "recommend", "quote": "numpy/scipy/matplotlib/pandas/plotly/polars/pyarrow/jupyter, which is essential to my work", "excerpt": "Scoop (https://scoop.sh/), a package manager for windows that is essential to make Windows usable for me. Sourcegit is my new favorite git client. Git in general, of course. Linux and also the people behind RT_PREEMPT, I am excited to see it merged into mainline this year. KDE has been my favorite DE for years and I use many of their apps too, such as Kate. Thanks to everyone contributing to the KDE project. The enti", "context": "", "use_case": "data science", "switched_from": "", "story": "Ask HN: What open source projects are you grateful for?"}, {"id": 737085968, "item_id": 46067873, "url": "https://news.ycombinator.com/item?id=46067873", "by": "drtc", "date": "2025-11-27", "stance": "recommend", "quote": "I think it is the plotting ecosystem that keeps me in the Python universe.", "excerpt": "I work as a data scientist where I do lots of exploratory work using Python+Pandas/Polars+Jupyter notebooks, I have to say that I agree with the title of the article. I feel like I'm using Python more and more in a way that is just not native to it. Strict typing is simply necessary at some point in time, but I don't get any of the performance benefits or compile-time warnings that other languages provide. But more t", "context": "data scientist", "use_case": "tabular data analysis", "switched_from": "", "story": "Python is not a great language for data science"}]}