# Subset AnnData object based on categorical value: AttributeError: 'AnnData' object has no attribute '\_X'

**URL:** <https://discourse.scverse.org/t/subset-anndata-object-based-on-categorical-value-attributeerror-anndata-object-has-no-attribute-x/548>\
**Category:** scanpy\
**Created:** [June 16, 2022, 6:18am UTC](https://discourse.scverse.org/t/subset-anndata-object-based-on-categorical-value-attributeerror-anndata-object-has-no-attribute-x/548 "2022-06-16T06:18:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![carmensandoval](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.scverse.org/carmensandoval/32/282_2.png) [@carmensandoval](https://discourse.scverse.org/u/carmensandoval)\
**Post date:** [June 16, 2022, 6:18am UTC](https://discourse.scverse.org/t/subset-anndata-object-based-on-categorical-value-attributeerror-anndata-object-has-no-attribute-x/548/1 "2022-06-16T06:18:28Z")

</div>

Is it possible to subset a loom object based on a categorical value from `adata.obs`?

```auto
adata_sub = adata[adata.obs['Channel'] == 'rep1']
AttributeError: 'AnnData' object has no attribute '_X'

```

---

<div class="post-metadata">

**Author:** ![ivirshup](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.scverse.org/ivirshup/32/160_2.png) [@ivirshup](https://discourse.scverse.org/u/ivirshup)\
**Post date:** [June 17, 2022, 12:20pm UTC](https://discourse.scverse.org/t/subset-anndata-object-based-on-categorical-value-attributeerror-anndata-object-has-no-attribute-x/548/2 "2022-06-17T12:20:43Z")

</div>

Hi @carmensandoval,

That’s not a loom object, but an AnnData object.

What you’re trying should work, but it’s unclear what’s going on without more context like version info and a full traceback.
