python pandas报错:Exception: cannot handle a non-unique multi-index!

本文探讨了在使用Pandas进行数据查询时遇到的常见错误:无法处理非唯一多重索引的问题。详细分析了错误产生的原因,并给出了检查数据中是否包含所需索引项的方法。

对pandas进行索引查询时报错Exception: cannot handle a non-unique multi-index!

df_profit[df_profit['item_no'].str.contains(item + '.+')==True][m]

原因:索引里没有这个值,会报这个错,检查pandas数据中的索引是否 有要找的项

--------------------------------------------------------------------------- ValueError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_360\2347491529.py in <module> 45 return str(x).split('-')[0] if '-' in str(x) else str(x) 46 ---> 47 expr_t['PATIENT_ID'] = expr_t['SAMPLE_ID'].apply(extract_patient_id) 48 49 # ======================== D:\JupyterProject\.venv\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 3455 if is_single_key: 3456 if self.columns.nlevels > 1: -> 3457 return self._getitem_multilevel(key) 3458 indexer = self.columns.get_loc(key) 3459 if is_integer(indexer): D:\JupyterProject\.venv\lib\site-packages\pandas\core\frame.py in _getitem_multilevel(self, key) 3511 result_columns = maybe_droplevels(new_columns, key) 3512 if self._is_mixed_type: -> 3513 result = self.reindex(columns=new_columns) 3514 result.columns = result_columns 3515 else: D:\JupyterProject\.venv\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs) 322 @wraps(func) 323 def wrapper(*args, **kwargs) -> Callable[..., Any]: --> 324 return func(*args, **kwargs) 325 326 kind = inspect.Parameter.POSITIONAL_OR_KEYWORD D:\JupyterProject\.venv\lib\site-packages\pandas\core\frame.py in reindex(self, *args, **kwargs) 4770 kwargs.pop("axis", None) 4771 kwargs.pop("labels", None) -> 4772 return super().reindex(**kwargs) 4773 4774 @deprecate_nonkeyword_arguments(version=None, allowed_args=["self", "labels"]) D:\JupyterProject\.venv\lib\site-packages\pandas\core\generic.py in reindex(self, *args, **kwargs) 4817 # perform the reindex on the axes 4818 return self._reindex_axes( -> 4819 axes, level, limit, tolerance, method, fill_value, copy 4820 ).__finalize__(self, method="reindex") 4821 D:\JupyterProject\.venv\lib\site-packages\pandas\core\frame.py in _reindex_axes(self, axes, level, limit, tolerance, method, fill_value, copy) 4590 if columns is not None: 4591 frame = frame._reindex_columns( -> 4592 columns, method, copy, level, fill_value, limit, tolerance 4593 ) 4594 D:\JupyterProject\.venv\lib\site-packages\pandas\core\frame.py in _reindex_columns(self, new_columns, method, copy, level, fill_value, limit, tolerance) 4632 ): 4633 new_columns, indexer = self.columns.reindex( -> 4634 new_columns, method=method, level=level, limit=limit, tolerance=tolerance 4635 ) 4636 return self._reindex_with_indexers( D:\JupyterProject\.venv\lib\site-packages\pandas\core\indexes\multi.py in reindex(self, target, method, level, limit, tolerance) 2522 ) 2523 else: -> 2524 raise ValueError("cannot handle a non-unique multi-index!") 2525 2526 if not isinstance(target, MultiIndex): ValueError: cannot handle a non-unique multi-index!
最新发布
09-29
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值