実践データ分析100本ノック(第4章-顧客の行動を予測する-37)
2020年12月21日
実践データ分析100本ノック(第4章-顧客の行動を予測する-37)
コード
#--ノック37------------------------------
# 使用開始日と現在日を比較し利用期間を算出
# %%
# customerのstart_dateを結合
predict_data = pd.merge(predict_data, customer[["customer_id", "start_date"]], on="customer_id", how="left")
predict_data.head()
# フォーマットを変換
predict_data["now_date"] = pd.to_datetime(predict_data["年月"], format="%Y%m")
# 利用開始日の型を変換
predict_data["start_date"] = pd.to_datetime(predict_data["start_date"])
predict_data.head()
# # ライブラリインポート
from dateutil.relativedelta import relativedelta
predict_data["period"] = None
for i in range(len(predict_data)):
# 退会日 - 利用開始日 = 利用期間
delta = relativedelta(predict_data["now_date"][i], predict_data["start_date"][i])
# 利用期間を月に換算
predict_data["period"][i] = delta.years*12 + delta.months
print(predict_data.head())
# 年月 customer_id count_pred count_0 count_1 count_2 count_3 \
# 0 201810 AS002855 3 7.0 3.0 5.0 5.0
# 1 201810 AS009373 5 6.0 6.0 7.0 4.0
# 2 201810 AS015315 4 7.0 3.0 6.0 3.0
# 3 201810 AS015739 5 6.0 5.0 8.0 6.0
# 4 201810 AS019860 7 5.0 7.0 4.0 6.0
# count_4 count_5 start_date now_date period
# 0 5.0 4.0 2016-11-01 2018-10-01 23
# 1 4.0 3.0 2015-11-01 2018-10-01 35
# 2 3.0 6.0 2015-07-01 2018-10-01 39
# 3 5.0 7.0 2017-06-01 2018-10-01 16
# 4 8.0 6.0 2017-10-01 2018-10-01 12
ディスカッション
コメント一覧
まだ、コメントがありません