The truth value of a Series is ambiguous.
事象 : Pandasで読み込んだExcelの行情報のNone判定で怒られた
- 環境
- Windows10 Pro バージョン1909
- PyCharm 2020.2.2(Community Edition)
- pandas 1.0.5
コンソールのエラー
The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
# 1. pandasを使って
import pandas as pd
# 2. Excelファイルを読み込んで
book = pd.read_excel(excel_file, sheet_name=None, header=None)
# 3. 任意のシートを読み込んで
sheet = book[sheet_name]
# 4. 1行づつ処理しようとして
for index, row in sheet.iterrows():
# 5. 処理前に一応Noneを判定したい
if not row:
# やりたい処理...
原因 : 何に対してboolを使っているのか曖昧(ambiguous)だから
Pythonにおいて、if文の条件式やand
, or
, not
の演算などでは、オブジェクトや式がbool値
(True
, False
)として評価される。
...省略...
numpy.ndarray
に対してbool
値を評価しようとするとエラーとなるようになっている。
# bool(a_bool)
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
ambiguous(曖昧)という文言の通り、何に対してTrue
, False
を判定したいのか(オブジェクト=要素全体なのか、各要素なのか)が曖昧だというエラー。
NumPy, pandasのValueError: ...one element is ambiguousの対処法 | note.nkmk.me
- Windows10 Pro バージョン1909
- PyCharm 2020.2.2(Community Edition)
- pandas 1.0.5
The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
# 1. pandasを使って
import pandas as pd
# 2. Excelファイルを読み込んで
book = pd.read_excel(excel_file, sheet_name=None, header=None)
# 3. 任意のシートを読み込んで
sheet = book[sheet_name]
# 4. 1行づつ処理しようとして
for index, row in sheet.iterrows():
# 5. 処理前に一応Noneを判定したい
if not row:
# やりたい処理...
Pythonにおいて、if文の条件式やand
, or
, not
の演算などでは、オブジェクトや式がbool値
(True
, False
)として評価される。
...省略...
numpy.ndarray
に対してbool
値を評価しようとするとエラーとなるようになっている。
# bool(a_bool)
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
ambiguous(曖昧)という文言の通り、何に対してTrue
, False
を判定したいのか(オブジェクト=要素全体なのか、各要素なのか)が曖昧だというエラー。
NumPy, pandasのValueError: ...one element is ambiguousの対処法 | note.nkmk.me
今回エラーになった行情報(row
)の型は、<class 'pandas.core.series.Series'>
だけどnumpy.ndarray
と同じことが起こるとのこと。
対応 : はっきりと「Noneじゃなかったら」と書く
# やりたいことはきちんと伝える
if row is None:
# やりたい処理...
Author And Source
この問題について(The truth value of a Series is ambiguous.), 我々は、より多くの情報をここで見つけました https://qiita.com/ponsuke0531/items/236088a8237d5f7485ab著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .