書き換え

列の要素に数字がメインの中に文字がある場合
34
45
1時間 → 60 になる
14
#文字列を数字に  1つだけの場合
df_temp = df["最寄駅:距離(分)"].replace("1時間", 60)
#文字列を数字に  複数の場合
dis = {
"30分?60分":45,
"1H?1H30":75,
"2H?":120,
"1H30?2H":105
}
df["最寄駅:距離(分)"] = df["最寄駅:距離(分)"].replace(dis).astype(float)

建築年の平成20年 という要素の20という数字だけで取り出す

df["建築年"].value_counts().keys()[1].split("平成")[1].split("年")[0]
20

複数個をまとめて処理する場合float型に変更
y_list = {}
for i in df["建築年"].value_counts().keys():
 if "平成" in i:
  num = float(i.split("平成")[1].split("年")[0])
year = 33 - num
 if "令和" in i:
  num = float(i.split("令和")[1].split("年")[0])
year = 3 - num
 if "昭和" in i:
  num = float(i.split("昭和")[1].split("年")[0])
year = 96 - num
 y_list[i] = year
df["建築年"] = df["建築年"].replace(y_list)

年第1四半期を.25などと置き換える方法
float型に変更

year = {
"年第1四半期": ".25",
"年第2四半期": ".50",
"年第3四半期": ".75",
"年第4四半期": ".99"
}
year_list = {}
for i in df["取引時点"].value_counts().keys():
 for k, j in year.items():
  if k in i:
   year_rep = i.replace(k, j)
 year_list[i] = year_rep
df["取引時点"] = df["取引時点"].replace(year_list).astype(float)


この記事が気に入ったらサポートをしてみませんか?