亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 try-except 語句中使用 MergeError?

如何在 try-except 語句中使用 MergeError?

搖曳的薔薇 2021-09-28 16:09:26
我正在制作一個合并表 1-1 的程序,如果 validate='one-to-one' 不起作用,我想通過 try-except 語句使用 concat。但是,我未能在“除了 MergeError 作為 e:”代碼中使用 MergeError。由于我寫的實際代碼太長,我就我的問題做了一個簡單的例子。在下面的代碼中,如果我使用result = pd.merge(left, right, on='B', how='outer', validate="one_to_one"),它返回給我 MergeError。但是,對于 try-except 代碼,它不處理 MergeError 情況。它返回另一個錯誤,名為 NameError。有什么方法可以處理 MergeError 嗎?import pandas as pdleft = pd.DataFrame({'A' : [1,2], 'B' : [1, 2]})right = pd.DataFrame({'A' : [4,5,6], 'B': [2, 2, 2]})try:    result = pd.merge(left, right, on='B', how='outer', validate="one_to_one")except MergeError as e:    print("ok ",e)MergeError                                Traceback (most recent call last)<ipython-input-1-2a4c90911337> in <module>()      6 try:----> 7     result = pd.merge(left, right, on='B', how='outer', validate="one_to_one")      8 except MergeError as e:~\Anaconda3\lib\site-packages\pandas\core\reshape\merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)     59                          copy=copy, indicator=indicator,---> 60                          validate=validate)     61     return op.get_result()~\Anaconda3\lib\site-packages\pandas\core\reshape\merge.py in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate)    559         if validate is not None:--> 560             self._validate(validate)    561 ~\Anaconda3\lib\site-packages\pandas\core\reshape\merge.py in _validate(self, validate)   1079             elif not right_unique:-> 1080                 raise MergeError("Merge keys are not unique in right dataset;"   1081                                  " not a one-to-one merge")MergeError: Merge keys are not unique in right dataset; not a one-to-one merge
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

用這個:

except pd.errors.MergeError as e:

或者,在頂部導入名稱:

from pd.errors import MergeError


查看完整回答
反對 回復 2021-09-28
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

您需要MergeError從其包含的模塊導入,然后才能按名稱捕獲它。

from pandas.errors import MergeError


查看完整回答
反對 回復 2021-09-28
  • 2 回答
  • 0 關注
  • 261 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號