Skip to content

Commit 654f932

Browse files
authored
Roadmap: remove ArrayManager (#57554)
1 parent 53ae1d2 commit 654f932

File tree

1 file changed

+0
-27
lines changed

1 file changed

+0
-27
lines changed

web/pandas/about/roadmap.md

-27
Original file line numberDiff line numberDiff line change
@@ -90,33 +90,6 @@ data types within pandas. This will let us take advantage of its I/O
9090
capabilities and provide for better interoperability with other
9191
languages and libraries using Arrow.
9292

93-
### Block manager rewrite
94-
95-
We'd like to replace pandas current internal data structures (a
96-
collection of 1 or 2-D arrays) with a simpler collection of 1-D arrays.
97-
98-
Pandas internal data model is quite complex. A DataFrame is made up of
99-
one or more 2-dimensional "blocks", with one or more blocks per dtype.
100-
This collection of 2-D arrays is managed by the BlockManager.
101-
102-
The primary benefit of the BlockManager is improved performance on
103-
certain operations (construction from a 2D array, binary operations,
104-
reductions across the columns), especially for wide DataFrames. However,
105-
the BlockManager substantially increases the complexity and maintenance
106-
burden of pandas.
107-
108-
By replacing the BlockManager we hope to achieve
109-
110-
- Substantially simpler code
111-
- Easier extensibility with new logical types
112-
- Better user control over memory use and layout
113-
- Improved micro-performance
114-
- Option to provide a C / Cython API to pandas' internals
115-
116-
See [these design
117-
documents](https://dev.pandas.io/pandas2/internal-architecture.html#removal-of-blockmanager-new-dataframe-internals)
118-
for more.
119-
12093
### Decoupling of indexing and internals
12194

12295
The code for getting and setting values in pandas' data structures

0 commit comments

Comments
 (0)