演習①
| 来場日 | 来場者の年齢 | 割引利用 |
---|
0 | 2022/1/1 | 20 | 450円 |
1 | 2022/1/1 | 12 | なし |
2 | 2022/1/2 | 49 | 500円 |
3 | 2022/1/2 | 60 | 200円 |
4 | 2022/1/3 | 30 | なし |
列割引額
の追加:
次のルールにしたがって新しい列割引額
を追加してください。
- 列
割引利用
が"なし"
の場合: 整数の0
- 列
割引利用
が"なし"
以外の場合: "円"
を取り除いて整数に変換する(たとえば"450円"
は整数の450
になる)
import pandas as pd
# 来場者の履歴データの読み込み
df = pd.read_csv("dataset/exercise_coupon.csv")
df
| 来場日 | 来場者の年齢 | 割引利用 |
---|
0 | 2022/1/1 | 20 | 450円 |
---|
1 | 2022/1/1 | 12 | なし |
---|
2 | 2022/1/2 | 49 | 500円 |
---|
3 | 2022/1/2 | 60 | 200円 |
---|
4 | 2022/1/3 | 30 | なし |
---|
def convert(discount_str):
# 割引額を計算する関数
if discount_str == "なし": 関数の中の値を入れる ""はいらない
return 0 条件なので=ではなく、==
else:
# "円"を除去
after = discount_str.rstrip("円") 最後の文字を除去するメソッドを使用
# 文字列から整数に変換
return int(after) 整数に戻す
# 列「割引利用」に変換関数を適用し、新しい列として追加する
df["割引額"] = df["割引利用"].apply(convert) 列にのみ適応するメソッド
df
| 来場日 | 来場者の年齢 | 割引利用 | 割引額 |
---|
0 | 2022/1/1 | 20 | 450円 | 450 |
---|
1 | 2022/1/1 | 12 | なし | 0 |
---|
2 | 2022/1/2 | 49 | 500円 | 500 |
---|
3 | 2022/1/2 | 60 | 200円 | 200 |
---|
4 | 2022/1/3 | 30 | なし | 0 |
---|
コメント