HN user

wesm

1,351 karma

I created pandas and wrote "Python for Data Analysis"

http://github.com/wesm http://twitter.com/wesmckinn http://blog.wesmckinney.com

Posts20
Comments123
View on HN
wesmckinney.com 5mo ago

The Mythical Agent-Month

wesm
5pts0
wesmckinney.com 6mo ago

From Human Ergonomics to Agent Ergonomics

wesm
4pts1
github.com 6mo ago

Roborev: Automated background code review for your agentic commits

wesm
1pts0
github.com 6mo ago

roborev: Background agent to review your Git commits with Codex or Claude Code

wesm
4pts0
wesmckinney.com 7mo ago

Can LLMs give us AGI if they are bad at arithmetic?

wesm
1pts1
moneyflow.dev 8mo ago

Moneyflow: Power user terminal UI for personal finance data

wesm
3pts0
wesmckinney.com 8y ago

Software patents are evil, but BSD+Patents is probably not the solution

wesm
1pts0
wesmckinney.com 9y ago

GitHub's one-dimensional view of open source contributions

wesm
3pts0
pandas.pydata.org 14y ago

Pandas (Python data analysis tookit) version 0.8.0 released

wesm
97pts16
blog.lambdafoundry.com 14y ago

Learn Python for Finance in NYC in April

wesm
10pts5
pandas.pydata.org 14y ago

Pandas 0.7.0 released: Python data analysis library

wesm
182pts26
wesmckinney.com 14y ago

High Performance Database Joins in Python with pandas

wesm
75pts3
wesmckinney.com 14y ago

Vbench: run Python benchmarks throughout your repository history

wesm
33pts6
wesmckinney.com 14y ago

Structured Data Challenges in Finance and Statistics

wesm
3pts0
wesmckinney.com 14y ago

Pivot tables in Python with pandas

wesm
15pts0
pandas.sourceforge.net 14y ago

Pandas 0.4 (Python data analysis library) released

wesm
84pts11
wesmckinney.com 14y ago

SQL-like group by and aggregation using DataFrame in Python

wesm
5pts0
wesmckinney.com 15y ago

A Roadmap for Rich Scientific Data Structures in Python

wesm
70pts12
inscight.org 15y ago

Podcast about enhanced data structures for statistical computing in Python

wesm
2pts0
twitter.com 16y ago

SciPy 2010: NumPy/SciPy coming to .NET

wesm
2pts0

I've been building https://roborev.io/ (continuous background code review for agents) essentially as a cope to supervise the poor quality of the agents' work, since my agents write much more code than I can possible review directly or QA thoroughly. I think we'll see a bunch of interesting new tools to help alleviate the cognitive burden of supervising their work output.

I was especially excited to learn that RZ is built on Apache Arrow internally, which makes it easy to integrate with other Arrow-based applications and the emerging "Composable Data Stack". Really exciting stuff, they're just getting started!

Apache Arrow 3.0 5 years ago

Almost no database systems support multidimensional arrays. So they are not appropriate for many use cases?

* BigQuery: no * Redshift: no * Spark SQL: no * Snowflake: no * Clickhouse: no * Dremio: no * Impala: no * Presto: no ... list continues

We've invited developers to add the extension types for tensor data, but no one has contributed them yet. I'm not seeing a lot of tabular data with embedded tensors out in the wild.

Apache Arrow 3.0 5 years ago

I challenge you to have a closer look at the project.

Deserialization by definition requires bytes or bits to be relocated from their position in the wire protocol to other data structures which are used for processing. Arrow does not require any bytes or bits to be relocated. So if a "C array of doubles" is not native to the CPU, then I don't know what is.

Apache Arrow 3.0 5 years ago

Arrow's serialization is Protobuf

Incorrect. Only Arrow Flight embeds the Arrow wire format in a Protocol Buffer, but the Arrow protocol itself does not use Protobuf.

Apache Arrow 3.0 5 years ago

There's no serde by design (aside from inspecting a tiny piece of metadata indicating the location of each constituent block of memory). So data processing algorithms execute directly against the Arrow wire format without any deserialization.

Apache Arrow 3.0 5 years ago

Microsoft is also on top of this with their Magpie project

http://cidrdb.org/cidr2021/papers/cidr2021_paper08.pdf

"A common, efficient serialized and wire format across data engines is a transformational development. Many previous systems and approaches (e.g., [26, 36, 38, 51]) have observed the prohibitive cost of data conversion and transfer, precluding optimizers from exploiting inter-DBMS performance advantages. By contrast, inmemory data transfer cost between a pair of Arrow-supporting systems is effectively zero. Many major, modern DBMSs (e.g., Spark, Kudu, AWS Data Wrangler, SciDB, TileDB) and data-processing frameworks (e.g., Pandas, NumPy, Dask) have or are in the process of incorporating support for Arrow and ArrowFlight. Exploiting this is key for Magpie, which is thereby free to combine data from different sources and cache intermediate data and results, without needing to consider data conversion overhead."

(Wes here) I appreciate the Arrow shout-out but note that Apache Arrow has been a major open source community collaboration and not something I can take sole credit for.

Apache Arrow 1.0 6 years ago

There is no “JIRA politics” blocking the LZ4 work, only a lack of volunteers to do the development and testing.

Apache Arrow 1.0 6 years ago

Keep in mind that Arrow Java<->C++/Python interop has been in production use in Apache Spark and elsewhere for multiple years now. We have avoided some of the mistakes of past projects by really emphasizing protocol integration tests across the implementations.

Apache Arrow 1.0 6 years ago

Again, I have to object to your use of “arrow/parquet”. These are not the same open source projects and while people use them together it isn’t fair to the developers of each project for you to discuss them like a single project.

Apache Arrow 1.0 6 years ago

What you've written sounds like a criticism of the JVM data analytics ecosystem (the Java Parquet library in particular) and not Apache Arrow itself. Parquet for Java is an independent open source project and developer community. For example, you said

It's barely useable and the dependencies are horrific - the whole thing is mingled with hadoop dependencies - even the API itself.

These are comments about http://github.com/apache/parquet-mr which is a different open source project.

For C++ / Python / R many of the developers for both Apache Arrow and Apache Parquet are the same and we currently develop the Parquet codebase out of the Arrow source tree.

So, I'm not sure what to tell you, we Arrow developers cannot take it upon ourselves to fix up the whole JVM data ecosystem.

Apache Arrow 1.0 6 years ago

hi, Wes (Apache Arrow co-creator and Python pandas creator) here! If you're wondering what this project is all about, my JupyterCon keynote (18 min long) from 3 years ago is a good summary and the vision / scope for what we've been doing since 2016 has been pretty consistent

https://www.youtube.com/watch?v=wdmf1msbtVs

Apache Arrow 1.0 6 years ago

This isn't accurate -- there are multiple query engine subprojects within Apache Arrow.

Apache Arrow 1.0 6 years ago

Arrow:

* Standardizes binary interop and "serialization" of large structured data, removing all conversions / serialization at ingest and export boundaries. This alone can mean > 2-100x performance improvement in an application that processes a lot of data

* The Arrow in-memory format is an ideal data structure to code analytical algorithms against.

Check out my 18min talk from a few years ago about the vision for the project https://www.youtube.com/watch?v=wdmf1msbtVs

Arrow Flight is still being developed and may be while before it drops to real user code. See ARROW-249. Indeed having a open standard runtime memory format for tabular / columnar data sets is key to improved performance