デザイン演習 第7回

課題

ソースコード

  1. import pandas as pd # データ分析に用いるライブラリ
  2. import matplotlib.pyplot as plt # グラフ表示に用いるライブラリ
  3. pd.set_option('display.unicode.east_asian_width', True) # 表示のずれを少し緩和
  4. plt.rcParams['font.family'] = 'IPAexGothic' # グラフ表示におけるフォントの指定data_path = "./data/titanic.csv"
  5. data_path = "./data1.csv" # データを読み込む
  6. df_data = pd.read_csv(data_path, encoding="utf-8-sig")
  7. print(df_data.columns) # 何の項目があるか確認
  8. print(df_data["合計時間"].describe()) # 合計時間に関する詳細を見る
  9. print(df_data["家賃"].describe()) # 家賃に関する詳細を見る
  10. print(df_data.groupby("路線").mean())
  11. mask = (df_data["間取り"] == "ワンルーム")
  12. df_room = df_data[mask]
  13. df_room.loc[:, "合計時間"].hist(by=df_room.loc[:, "路線"], range=(0, 80), bins=30, figsize=(10, 9), sharex=True, sharey=True)# 合計時間の軸は最大80分
  14. plt.xlabel("合計時間(分)") # 横軸のラベル
  15. plt.ylabel("件数") # 縦軸のラベル
  16. plt.title("合計時間のヒストグラム") # グラフのタイトル
  17. plt.subplots_adjust(top=0.92, # グラフ位置の微調整
  18.                     hspace=1) # グラフ間の微調整
  19. plt.show()
  20. mask = (df_data["路線"] == "東急東横線") & (df_data["合計時間"] < 30) & (df_data["家賃"] < 5) & (df_data["徒歩"] < 15) & (df_data["間取り"] == "ワンルーム")
  21. print(df_data[mask])
  22. axes = df_data[mask].loc[:, "家賃"].hist(by=df_data[mask].loc[:, "駅"],
  23.                                                      range=(0, 5), bins=10,# 家賃は最大5万円
  24.                                                      figsize=(10, 8),
  25.                                                      sharex=True, sharey=True)
  26. plt.suptitle("駅別家賃のヒストグラム") # グラフ全体のタイトル
  27. plt.subplots_adjust(top=0.92, # グラフ位置の微調整
  28.                         hspace=1) # グラフ間の微調整
  29. plt.show()

説明

まずデータの項目を見てから、合計時間と家賃に注目した。


そこから移動時間が短く家賃もそこそこ安い、東急東横線沿いを調べることにした。

<路線ごとの合計時間のヒストグラム>


次に、一人暮らしを想定してワンルームを調べる。条件は とした。
結果、この条件にヒットする物件が244件見つかった。


そこから駅別にデータを分けたところ、反町〜妙蓮寺駅周辺の物件だと移動時間も少なく家賃も安くおすすめエリアであると考えた。

<244の物件の駅別ヒストグラム>



感想

本当はもう少し条件を絞ったり表を作成したりしたかったが、コードを書いていてエラーが多発し、火曜日までに間に合わなかった。
特に複数の条件で情報を絞ったり、表のレイアウトを整えたりするのが上手く行かなかった。
デザイン演習の授業ページを見直したほか、道用先生のページも参考にしたが、まだまだ知識が不足している。
先生やクラスメートに教えてもらうほか、継続してネットからもやり方を情報を調べたい(せめて、なぜエラーが起きるかがわかるようにしたい)。


前の画面に戻る