Commit 737ff7c
root
fix: preserve row count for zero-column DataFrames in Arrow export
DataFrameStreamIterator used first_col_n_chunks() to determine how many
batches to emit. For zero-column DataFrames this returns 0, so the
iterator produced no batches and the resulting Arrow table had 0 rows.
Use max(1, first_col_n_chunks()) so that zero-column frames still emit
one batch. Also store the DataFrame height so that when there are no
columns the batch length comes from the frame height rather than trying
to index into an empty columns vec.
Fixes #268341 parent 28dda55 commit 737ff7c
File tree
2 files changed
+18
-5
lines changed- crates/polars-python/src/interop/arrow
- py-polars/tests/unit/interop
2 files changed
+18
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| 123 | + | |
123 | 124 | | |
124 | 125 | | |
125 | 126 | | |
| |||
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
138 | | - | |
| 139 | + | |
| 140 | + | |
139 | 141 | | |
140 | 142 | | |
141 | 143 | | |
| |||
151 | 153 | | |
152 | 154 | | |
153 | 155 | | |
154 | | - | |
155 | | - | |
| 156 | + | |
156 | 157 | | |
157 | 158 | | |
158 | 159 | | |
159 | | - | |
| 160 | + | |
160 | 161 | | |
161 | 162 | | |
| 163 | + | |
162 | 164 | | |
163 | 165 | | |
164 | | - | |
| 166 | + | |
165 | 167 | | |
166 | 168 | | |
167 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
73 | 84 | | |
74 | 85 | | |
75 | 86 | | |
| |||
0 commit comments