Skip to content

Commit e0f32f2

Browse files
optimize BlockManager.column_arrays
1 parent df8d226 commit e0f32f2

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

pandas/core/internals/managers.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,16 @@ def iget_values(self, i: int) -> ArrayLike:
11391139

11401140
@property
11411141
def column_arrays(self) -> list[ArrayLike]:
1142-
return [self.iget_values(i) for i in range(len(self.items))]
1142+
arrays = [np.asarray(arr) for arr in self.arrays]
1143+
result = []
1144+
for i in range(len(self.items)):
1145+
arr = arrays[self.blknos[i]]
1146+
if arr.ndim == 2:
1147+
values = arr[self.blklocs[i]]
1148+
else:
1149+
values = arr
1150+
result.append(values)
1151+
return result
11431152

11441153
def iset(self, loc: int | slice | np.ndarray, value: ArrayLike):
11451154
"""

0 commit comments

Comments
 (0)