diff --git a/src/scanpy/preprocessing/_pca.py b/src/scanpy/preprocessing/_pca.py index 5b5706c123..3a43a3bfc4 100644 --- a/src/scanpy/preprocessing/_pca.py +++ b/src/scanpy/preprocessing/_pca.py @@ -263,7 +263,10 @@ def pca( for chunk, _, _ in adata_comp.chunked_X(chunk_size): chunk = chunk.toarray() if issparse(chunk) else chunk - pca_.partial_fit(chunk) + if n_comps <= chunk.shape[0]: + pca_.partial_fit(chunk) + else: + continue for chunk, start, end in adata_comp.chunked_X(chunk_size): chunk = chunk.toarray() if issparse(chunk) else chunk