1つのDFに2列、条件抽出したいものがあります。
- df["score"]には「OK/NG」
- df["result"]には「GOOD/BAD/NA」が入っています。
それぞれ以下の条件で組み合わせて、最終的にCheckボックスに数種類のコメントを入れたいです。
df["score"] : df["result"] → Check = []
①score = OK : result = GOOD → Satisfied
②score = OK : result = BAD → Confirm
③score = OK : result = N/A → N/A
④score = NG : result = GOOD → Strange
⑤score = NG : result = BAD → CONFIRM!!
⑥score = NG : result = N/A → N/A
###状況:
for文の中にfor文を入れるのかなとも思ったのですが、回らずです・・・。
以下コードを回すと結果は["NA", "NA"]となり、データはもっとあるので、どこかで止まっているのだと思います。
トライ中にThe truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
指示が明確ではない?とエラーも出たのですが、うまくfor文とif文の組み合わせが理解ができおらず、解決できません。
python
1Check = [] 2for i in (df["score"], df["result"]): 3 if ("OK" in df["score"]) and ("BAD" in df["result"]): 4 Check.append("Confirm") 5 elif ("OK" in df["score"]) and ("GOOD" in df["result"]): 6 Check.append("Satisfied") 7 elif ("OK" in df["score"]) and ("NA" in df["result"]): 8 Check.append("-") 9 elif ("NG" in df["score"]) and ("BAD" in df["result"]): 10 Check.append("CONFIRM!!!") 11 elif ("NG" in df["score"]) and ("GOOD" in df["result"]): 12 Check.append("Strange") 13 else: 14 Check.append("NA") 15print(Check)
回答2件
あなたの回答
tips
プレビュー