infercnvpy cnv_score 函数 AttributeError:“Series”对象没有属性“非零”

问题描述 投票:0回答:1

当我在执行

cnv_score()
包中的
infercnvpy
函数时遇到问题时,我正在分析 GSE214966 中的一些 scRNA-seq 数据。它始终引发 AttributeError:“Series”对象没有属性“非零”。

我还尝试从他们的网站教程中复制示例(https://infercnvpy.readthedocs.io/en/latest/notebooks/tutorial_3k.html),但它引发了相同的错误。这可能意味着问题出在我这边,但我不知道出了什么问题。

我也尝试重新安装所有软件包和 python,但没有任何结果。该错误表明问题在于

Pandas.Series
没有诸如
nonzero
之类的属性,而它确实没有。但后来我不知道出了什么问题或如何解决这个问题,因为它是包中的函数。

有人可以帮我吗?

错误描述

AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_9248\2255080222.py in ?()
      1 import infercnvpy as cnv
----> 2 cnv.tl.cnv_score(adata, groupby="leiden")

d:\Datos de usuario\Desktop\Single Cell Analysis\Glioblastoma (GSE214966)\Glioblastoma-GSE214966\.venv\Lib\site-packages\infercnvpy\tl\_scores.py in ?(adata, groupby, use_rep, key_added, inplace, obs_key)
     61         groupby = obs_key
     62 
     63     if groupby not in adata.obs.columns and groupby == "cnv_leiden":
     64         raise ValueError("`cnv_leiden` not found in `adata.obs`. Did you run `tl.leiden`?")
---> 65     cluster_score = {
     66         cluster: np.mean(np.abs(adata.obsm[f"X_{use_rep}"][adata.obs[groupby] == cluster, :]))
     67         for cluster in adata.obs[groupby].unique()
     68     }

d:\Datos de usuario\Desktop\Single Cell Analysis\Glioblastoma (GSE214966)\Glioblastoma-GSE214966\.venv\Lib\site-packages\scipy\sparse\_index.py in ?(self, key)
     29     def __getitem__(self, key):
---> 30         index, new_shape = self._validate_indices(key)
     31 
     32         # 1D array
     33         if len(index) == 1:

d:\Datos de usuario\Desktop\Single Cell Analysis\Glioblastoma (GSE214966)\Glioblastoma-GSE214966\.venv\Lib\site-packages\scipy\sparse\_index.py in ?(self, key)
    265                 if ix.shape != mid_shape:
    266                     raise IndexError(
    267                         f"bool index {i} has shape {mid_shape} instead of {ix.shape}"
    268                     )
--> 269                 index.extend(ix.nonzero())
    270                 array_indices.extend(range(index_ndim, tmp_ndim))
    271                 index_ndim = tmp_ndim
    272             else:  # dense array

d:\Datos de usuario\Desktop\Single Cell Analysis\Glioblastoma (GSE214966)\Glioblastoma-GSE214966\.venv\Lib\site-packages\pandas\core\generic.py in ?(self, name)
   6295             and name not in self._accessors
   6296             and self._info_axis._can_hold_identifiers_and_holds_name(name)
   6297         ):
   6298             return self[name]
-> 6299         return object.__getattribute__(self, name)

AttributeError: 'Series' object has no attribute 'nonzero'

会话信息

-----
anndata             0.11.3
infercnvpy          0.5.0
matplotlib          3.10.0
numpy               1.26.4
openpyxl            3.1.5
pandas              2.2.3
scanpy              1.10.4
scipy               1.15.1
session_info        1.0.0
sklearn             1.6.1
-----
PIL                 11.1.0
asttokens           NA
attr                24.3.0
attrs               24.3.0
cairo               1.27.0
cattr               NA
cattrs              NA
certifi             2024.12.14
charset_normalizer  3.4.1
colorama            0.4.6
comm                0.2.2
cycler              0.12.1
...
Python 3.12.6 (tags/v3.12.6:a4a2d2b, Sep  6 2024, 20:11:23) [MSC v.1940 64 bit (AMD64)]
Windows-10-10.0.19045-SP0
-----
Session information updated at 2025-01-16 16:27
python pandas package attributeerror
1个回答
0
投票

https://github.com/chanzuckerberg/single-cell-curation/issues/1165上提出了类似的问题。似乎是 scipy 版本 >= 1.15.0 的错误。用户表示回滚到 scipy 版本 1.14.1 可以解决该问题。这仍然是存储库中的一个未解决的错误问题。

© www.soinside.com 2019 - 2024. All rights reserved.