Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[...] not in index #231

Open
remenderfdif opened this issue Apr 1, 2024 · 0 comments
Open

[...] not in index #231

remenderfdif opened this issue Apr 1, 2024 · 0 comments

Comments

@remenderfdif
Copy link

Hi,
A couple days ago, I ran the following code and it was working, but now it's reporting an error,and I don't know how to fix this:
import nibabel as nib atlas = nib.load('E:\BN_Atlas_246_2mm.nii') import pandas as pd atlas_info = pd.read_csv('E:\BN246_info.csv') expression3 = abagen.get_expression_data(atlas, atlas_info, probe_selection='rnaseq', norm_structures = True, sim_threshold = 0.2) print(expression3)

KeyError Traceback (most recent call last)
Cell In[5], line 5
3 import pandas as pd
4 atlas_info = pd.read_csv('E:\BN246_info.csv')
----> 5 expression3 = abagen.get_expression_data(atlas, atlas_info, probe_selection='rnaseq', norm_structures = True, sim_threshold = 0.2)
6 print(expression3)

File ~.conda\envs\abagen_test\Lib\site-packages\abagen\allen.py:430, in get_expression_data(atlas, atlas_info, ibf_threshold, probe_selection, donor_probes, sim_threshold, lr_mirror, exact, missing, tolerance, sample_norm, gene_norm, norm_matched, norm_structures, region_agg, agg_metric, corrected_mni, reannotated, return_counts, return_donors, return_report, donors, data_dir, verbose, n_proc)
428 annot = samples_.drop_mismatch_samples(annot, ontol)
429 if sim_threshold is not None:
--> 430 annot = samples_.similarity_threshold(data['microarray'],
431 annot, probe_info,
432 threshold=sim_threshold)
433 data['annotation'] = annot
434 annotation = flatten_dict(files, 'annotation')

File ~.conda\envs\abagen_test\Lib\site-packages\abagen\samples_.py:365, in similarity_threshold(microarray, annotation, probes, threshold)
362 probes = io.read_probes(probes)
363 microarray = io.read_microarray(microarray, copy=False)
--> 365 corrs = np.corrcoef(microarray.loc[probes.index, annotation.index].T)
366 sim = np.sum(corrs, axis=1)
367 thresh = np.mean(sim) - (threshold * np.std(sim, ddof=1))

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexing.py:1184, in _LocationIndexer.getitem(self, key)
1182 if self._is_scalar_access(key):
1183 return self.obj._get_value(*key, takeable=self._takeable)
-> 1184 return self._getitem_tuple(key)
1185 else:
1186 # we by definition only have the 0th axis
1187 axis = self.axis or 0

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexing.py:1375, in _LocIndexer._getitem_tuple(self, tup)
1373 # ugly hack for GH #836
1374 if self._multi_take_opportunity(tup):
-> 1375 return self._multi_take(tup)
1377 return self._getitem_tuple_same_dim(tup)

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexing.py:1326, in _LocIndexer._multi_take(self, tup)
1310 """
1311 Create the indexers for the passed tuple of keys, and
1312 executes the take operation. This allows the take operation to be
(...)
1323 values: same type as the object being indexed
1324 """
1325 # GH 836
-> 1326 d = {
1327 axis: self._get_listlike_indexer(key, axis)
1328 for (key, axis) in zip(tup, self.obj._AXIS_ORDERS)
1329 }
1330 return self.obj._reindex_with_indexers(d, copy=True, allow_dups=True)

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexing.py:1327, in (.0)
1310 """
1311 Create the indexers for the passed tuple of keys, and
1312 executes the take operation. This allows the take operation to be
(...)
1323 values: same type as the object being indexed
1324 """
1325 # GH 836
1326 d = {
-> 1327 axis: self._get_listlike_indexer(key, axis)
1328 for (key, axis) in zip(tup, self.obj._AXIS_ORDERS)
1329 }
1330 return self.obj._reindex_with_indexers(d, copy=True, allow_dups=True)

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexing.py:1558, in _LocIndexer._get_listlike_indexer(self, key, axis)
1555 ax = self.obj._get_axis(axis)
1556 axis_name = self.obj._get_axis_name(axis)
-> 1558 keyarr, indexer = ax._get_indexer_strict(key, axis_name)
1560 return keyarr, indexer

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexes\base.py:6200, in Index._get_indexer_strict(self, key, axis_name)
6197 else:
6198 keyarr, indexer, new_indexer = self._reindex_non_unique(keyarr)
-> 6200 self._raise_if_missing(keyarr, indexer, axis_name)
6202 keyarr = self.take(indexer)
6203 if isinstance(key, Index):
6204 # GH 42790 - Preserve name from an Index

File ~.conda\envs\abagen_test\Lib\site-packages\pandas\core\indexes\base.py:6252, in Index._raise_if_missing(self, key, indexer, axis_name)
6249 raise KeyError(f"None of [{key}] are in the [{axis_name}]")
6251 not_found = list(ensure_index(key)[missing_mask.nonzero()[0]].unique())
-> 6252 raise KeyError(f"{not_found} not in index")

KeyError: '[1071165, 1071173, 1071193, 1071199, 1071210] not in index'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant