溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

發(fā)布時間:2021-12-03 16:45:30 來源:億速云 閱讀:552 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

    房價數據分析

    數據簡單清洗

    data.csv

    Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

    數據顯示

    # 導入模塊
    import pandas as pd  # 導入數據統(tǒng)計模塊
    import matplotlib  # 導入圖表模塊
    import matplotlib.pyplot as plt  # 導入繪圖模塊
    # 避免中文亂碼
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 設置字體為SimHei顯示中文
    matplotlib.rcParams['axes.unicode_minus'] = False  # 設置正常顯示字符,使用rc配置文件來自定義
    # 簡單清洗
    data = pd.read_csv('data.csv')  # 讀取csv數據
    del data['Unnamed: 0']  # 將索引列刪除
    data.dropna(axis=0, how='any', inplace=True)  # 刪除data數據中的所有空值
    data['單價'] = data['單價'].map(lambda d: d.replace('元/平米', ''))  # 將單價“元/平米”去掉
    data['單價'] = data['單價'].astype(float)  # 將房子單價轉換為浮點類型,float(data['',單價])
    data['總價'] = data['總價'].map(lambda d: d.replace('萬', ''))  # 將總價“萬”去掉
    data['總價'] = data['總價'].astype(float)  # 將房子總價轉換為浮點類型,float(data['',單價])
    data['建筑面積'] = data['建筑面積'].map(lambda p: p.replace('平米', ''))  # 將建筑面積“平米去掉”
    data['建筑面積'] = data['建筑面積'].astype(float)  # 將將建筑面積轉換為浮點類型

    Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

    各區(qū)均價分析

    # 獲取各區(qū)二手房均價分析,根據需求,,進一步處理數據,如果要寫相應算法,需要根據算法所需求的數據處理
    def get_average_price():
        group = data.groupby('區(qū)域')  # 將房子區(qū)域分組
        average_price_group = group['單價'].mean()  # 計算每個區(qū)域的均價,average_price_group字典
        x = average_price_group.index  # 區(qū)域
        y = average_price_group.values.astype(int)  # 區(qū)域對應的均價a =['t':'123'] a.keys()
        return x, y  # 返回區(qū)域與對應的均價,region二關 average_price均價
    
    # 顯示均價條形圖
    def average_price_bar(x, y, title):
        plt.figure()  # 圖形畫布
        plt.bar(x, y, alpha=0.8)  # 繪制條形圖
        plt.xlabel("區(qū)域")  # 區(qū)域文字
        plt.ylabel("均價")  # 均價文字
        plt.title(title)  # 表標題文字
        # 為每一個圖形加數值標簽
        for x, y in enumerate(y):
            plt.text(x, y + 100, y, ha='center')
        plt.show()
    
    if __name__ == '__main__':
        x, y = get_average_price()
        title = '各區(qū)均價分析'
        average_price_bar(x, y, title)

    運行如圖

    Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

    全市二手房裝修程度分析

    # 獲取各區(qū)二手房均價分析,根據需求,,進一步處理數據,如果要寫相應算法,需要根據算法所需求的數據處理
    def get_decorate_sum():
        group = data.groupby('裝修')  # 將房子區(qū)域分組
        # decorate_sum_group = group['裝修'].count()  # 計算每個區(qū)域的均價,average_price_group字典
        decorate_sum_group = group.size()  # 計算每個區(qū)域的均價,average_price_group字典
        x = decorate_sum_group.index  # 區(qū)域
        y = decorate_sum_group.values.astype(int)  # 區(qū)域對應的均價a =['t':'123'] a.keys()
        return x, y  # 返回區(qū)域與對應的均價,region二關 average_price均價
    
    # 顯示均價條形圖
    def average_price_bar(x, y, title):
        plt.figure()  # 圖形畫布
        plt.bar(x, y, alpha=0.8)  # 繪制條形圖
        plt.xlabel("裝修類型")  # 區(qū)域文字
        plt.ylabel("數量")  # 均價文字
        plt.title(title)  # 表標題文字
        # 為每一個圖形加數值標簽
        for x, y in enumerate(y):
            plt.text(x, y + 100, y, ha='center')
        plt.show()
    
    if __name__ == '__main__':
        x, y = get_decorate_sum()
        title = '全市二手房裝修程度分析'
        average_price_bar(x, y, title)

    Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

    各區(qū)二手房數量所占比比例

    # 獲取各區(qū)二手房各區(qū)比例數量,進一步處理數據,如果要寫相應算法,需要根據算法所需求的數據處理
    def get_proportional_quantity():
        area = data['區(qū)域'].groupby(data['區(qū)域']).count()  # 將房子區(qū)域分組比例數量
        areaName = (area).index.values  # 將房子區(qū)域分組比例取名
        return area, areaName
    
    # 顯示均價條形圖
    def proportional_quantity_pie(area, areaName, title):
        plt.figure()  # 圖形畫布
        plt.pie(area, labels=areaName, labeldistance=1.1, autopct='%.1f%%',
                shadow=True, startangle=90, pctdistance=0.7)
        plt.title(title, fontsize=24)  # 表標題文字
        plt.legend(bbox_to_anchor=(-0.1, 1))  # 作者標題
        plt.show()
    
    if __name__ == '__main__':
        # 對應x,y
        area, areaName = get_proportional_quantity()
        title = '各區(qū)二手房數量所占比比例'
        proportional_quantity_pie(area, areaName, title)

    Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

    熱門戶型均價分析

    # 獲取各區(qū)熱門戶型分析,根據需求,,進一步處理數據,如果要寫相應算法,需要根據算法所需求的數據處理
    def get_hot_portal():
        # 另外一種方法獲取并取值
        """
        group = data.groupby('戶型').size  # 將房子區(qū)域分組
        sort_data = group.sort_values(ascending=False)  # 將戶型分組數量進行降序
        five_data = sort_data.head()  # 提取前5組戶型數據
        house_type_mean = data.groupby('戶型')['單價'].mean().astype(int)  # 計算每個戶型的均價
        x = house_type_mean[five_data.index].index  # 戶型
        y = house_type_mean[five_data.index].value  # 戶型對應的均價
        """
        group = data.groupby('戶型')  # 將房子區(qū)域分組
        a = group['戶型'].count().sort_values(ascending=False).head()  # 計算每個戶型的均價 字典
        b = group['單價'].mean()[a.index]  # 區(qū)域對應的均價a =['t':'123'] a.keys()
        x = b.index
        y = b.values.astype(int)
        return x, y  # 返回區(qū)域與對應的均價,region二關 average_price均價
    
    # 顯示均價橫條形圖
    def hot_portal_barh(x, y, title):
        plt.figure()  # 圖形畫布
        plt.barh(x, y, alpha=0.9, color='red')  # 繪制條形圖
        plt.xlabel("均價")  # 區(qū)域文字
        plt.ylabel("戶型")  # 均價文字
        plt.title(title)  # 表標題文字
        plt.xlim(0, 15000)  # X軸的大小
        # 為每一個圖形加數值標簽
        for y, x in enumerate(y):
            plt.text(x + 100, y, str(x) + '元', ha='left')
        plt.show()
    
    if __name__ == '__main__':
        x, y = get_hot_portal()
        title = '熱門戶型均價分析'
        hot_portal_barh(x, y, title)

    前面三個圖較簡單,最后相對于前面三個較為麻煩

    先獲取得到熱門戶型前五名,通過戶型得到對應的戶型的平均值

    Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析

    感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python如何實現(xiàn)對某地區(qū)二手房房價進行數據分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI