デザイン演習第7回:データ分析



「神奈川大学」周りの部屋を探したいと設定された。

  1. df_data.groupby("路線").mean().loc[:,"合計時間"].sort_values().plot.bar()
  2. plt.subplots_adjust(bottom=0.3)
  3. plt.show()

まずは全体的な路線と家賃の関係を分析すると、「みなとみらい線」が最も高いことが分かります。

なので、みなとみらい線を除きます。残った路線から選択したいと思います。

神奈川大学へ徒歩で20分ぐらいの部屋を探したいので、グーグルマップを通して、「桜木町」「高島駅」「新高島駅」の三つの駅を選びました。

そして、道用先生のコードを参考し、家賃・徒歩時間・駅から絞り込むことができる検索エンジンを作りました。

  • import pandas as pd # データ分析に用いるライブラリ
  • import matplotlib.pyplot as plt # グラフ表示に用いるライブラリ
  • pd.set_option('display.unicode.east_asian_width', True) # 表示のずれを少し緩和
  • plt.rcParams['font.family'] = 'IPAexGothic' # グラフ表示におけるフォントの指定
  • data_path = "./data.csv"
  • df_data = pd.read_csv(data_path, encoding="utf-8-sig")
  • # ------------------------------------------------------
  • # 希望家賃(万)
  • rent_upper = int(input("希望家賃の上限は?(万円)"))
  • rent_lower = int(input("希望家賃の下限は?(万円)"))
  • # 家賃で絞り込む
  • mask = (df_data['家賃'] <= rent_upper) & (df_data['家賃'] >= rent_lower)
  • # 絞った内容ををfilter_dfに入れる
  • filter_df = df_data[mask]
  • print("家賃で絞り込んだ結果", len(filter_df), "件")
  • # # 通学時間(分)
  • commuting_time = float(input("希望徒歩通学時間上限は?(分)"))
  • mask = (filter_df['徒歩'] <= commuting_time)
  • # filter_dfをさらに合計時間で絞り込む(filter_dfを上書き)
  • filter_df = filter_df[mask]
  • print("家賃,通学時間で絞り込んだ結果", len(filter_df), "件")
  • print("おすすめ駅(10駅)物件数", len(filter_df))
  • station = input('駅名を入力してください')
  • # おすすめ駅Top10(filter_top10_station_df)から駅名で更に絞り込みfilter_selected_station_dfに入れる
  • mask = (df_data['駅'] == station)
  • filter_df = filter_df[mask]
  • print(station + "の合致物件数", len(filter_df), "件")
  • # 全件表示させるようにする
  • pd.set_option('display.max_rows', None)
  • pd.set_option('display.max_columns', None)
  • # 選択した駅の駅、路線、家賃、名称、合計時間、URLを表示する
  • print(filter_df[["駅", "路線","家賃", "名称", "徒歩", "URL"]].sort_values("家賃").to_string(index=False))
  • print("----------------------------------------------------------------")
  • このように条件を満たす部屋が発見できると思います。(なんかエラーが出てきますが、結果としては問題なさそうです…)






      ホームページに戻る:

    1. デザイン演習Ⅰ・Ⅱトップページ
    2. XBPトップページ