@@ -90,33 +90,6 @@ data types within pandas. This will let us take advantage of its I/O
90
90
capabilities and provide for better interoperability with other
91
91
languages and libraries using Arrow.
92
92
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
-
120
93
### Decoupling of indexing and internals
121
94
122
95
The code for getting and setting values in pandas' data structures
0 commit comments