実現したいこと、やったこと
データフレームの中身でカラム[入数表示]の値の後ろから二番目が「1」だった場合(@2394×1)、
データを空欄にしたいです。
python
1df = pd.DataFrame({ '本体価格' : ["\2,394","\2,500","\¥3,000"],'入数表示' :["(@2394×1)","(@2500×2)","(@3000×3)"] }) 2 3if df["入数表示"].str[-2] == "1": 4 df["入数表示"] == "" 5else: 6 pass 7 8エラー 9ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 10 11もしくは、df[単位]の値が”1”の場合、下記のように処理するようなif文を考えた方が良いのでしょうか。 12if df["卸単位"] == "1": 13 df["卸単位"] ="" 14else: 15 df["入数表示"] = df["本体卸価格"].str.cat(df["卸単位"], sep = "×") 16 df["入数表示"] = "(@" + df["入数表示"]+")" 17 18こちらも同じエラーになってしまいましたが。。。
どう処理するのが良いのでしょうか。
宜しくお願い致します。
データフレームの中身
本体価格 入数表示 単位
¥2,394 (@2394×1) 1
¥2,500 (@2500×2) 2
¥3,000 (@3000×3) 3
データフレーム完成形
本体価格 入数表示
¥2,394
¥2,500 (@2500×2)
¥3,000 (@3000×3)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/14 06:03