def arrays_to_mgr( arrays, arr_names, index, columns, dtype: Optional[DtypeObj] = None, verify_integrity: bool = True, ): """ Segregate Series based on type and coerce into matrices. Needs to handle a lot of exceptional cases. """ arr_names = ensure_index(arr_names) if verify_integrity: # figure out the index, if necessary if index is None: index = extract_index(arrays) else: index = ensure_index(index) # don't force copy because getting jammed in an ndarray anyway arrays = _homogenize(arrays, index, dtype) columns = ensure_index(columns) else: columns = ensure_index(columns) index = ensure_index(index) # from BlockManager perspective axes = [columns, index] return create_block_manager_from_arrays(arrays, arr_names, axes)
def arrays_to_mgr( arrays, arr_names, index, columns, *, dtype: DtypeObj | None = None, verify_integrity: bool = True, typ: str | None = None, consolidate: bool = True, ) -> Manager: """ Segregate Series based on type and coerce into matrices. Needs to handle a lot of exceptional cases. """ arr_names = ensure_index(arr_names) if verify_integrity: # figure out the index, if necessary if index is None: index = _extract_index(arrays) else: index = ensure_index(index) # don't force copy because getting jammed in an ndarray anyway arrays = _homogenize(arrays, index, dtype) else: index = ensure_index(index) columns = ensure_index(columns) # from BlockManager perspective axes = [columns, index] if typ == "block": return create_block_manager_from_arrays(arrays, arr_names, axes, consolidate=consolidate) elif typ == "array": if len(columns) != len(arrays): assert len(arrays) == 0 arrays = [np.array([], dtype=object) for _ in range(len(columns))] return ArrayManager(arrays, [index, columns]) else: raise ValueError( f"'typ' needs to be one of {{'block', 'array'}}, got '{typ}'")
def arrays_to_mgr( arrays, arr_names, index, columns, dtype: Optional[DtypeObj] = None, verify_integrity: bool = True, typ: Optional[str] = None, ): """ Segregate Series based on type and coerce into matrices. Needs to handle a lot of exceptional cases. """ arr_names = ensure_index(arr_names) if verify_integrity: # figure out the index, if necessary if index is None: index = extract_index(arrays) else: index = ensure_index(index) # don't force copy because getting jammed in an ndarray anyway arrays = _homogenize(arrays, index, dtype) columns = ensure_index(columns) else: columns = ensure_index(columns) index = ensure_index(index) # from BlockManager perspective axes = [columns, index] if typ == "block": return create_block_manager_from_arrays(arrays, arr_names, axes) elif typ == "array": return ArrayManager(arrays, [index, columns]) else: raise ValueError(f"'typ' needs to be one of {{'block', 'array'}}, got '{typ}'")