[ad_1]
ここでは、特定の文字列 (「SPF」、「UV」、「SUN」) が LDESC 列の各値に存在するかどうかを確認しようとしています。 ループには str.contains() を使用し、そのために if 条件を使用します。 そのため、文字列が存在するかどうかを示す代わりにコードを記述すると、値のエラーが表示されます。
私が試したこと:
コードはこちら
import pandas as pd import numpy as np import regex as re df=pd.read_excel(r'D:\Practice Files\Anirudh Exercise Skin India.xlsx') Nonsun= [] for value in df["LDESC"]: if df["LDESC"].str.contains("SPF|UV"): Nonsun.append("SPF") elif df["LDESC"].str.contains("SPF"): Nonsun.append("SPF") elif df["LDESC"].str.contains("UV"): Nonsun.append("UV") elif df["LDESC"].str.contains("SUN"): Nonsun.append("SUN") else: Nonsun.append("NON-SUN") df["SPF/UV/SUN"] = Nonsun print(df)
ここにエラーがあります
Traceback (most recent call last): File "C:\Users\ani\PycharmProjects\pythonProject\main8.py", line 44, in <module> if df["LDESC"].str.contains("SPF|UV"): File "C:\Users\ani\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\generic.py", line 1527, in __nonzero__ raise ValueError( ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
このエラーを解決する方法
解決策 1
に対してテストする必要があります value
、 いいえ df["LDESC"]
.
[ad_2]
コメント