python之pandas數據分析

2020-12-25 侃侃網際網路技術

一簡介

我們在《python爬蟲之urllib庫鏈家二手房信息分析》文章裡介紹了如何從鏈家網站爬取房價信息,今天我們來分析下房價總價和其他幾個的關係。分析數據先安裝下相關分析數據的工具,圖一安裝了pandas,圖二安裝了xlrs。pandas是強大的數據分析工具,xlrs是用來讀取excel數據的。從鏈家爬取的數據有3000條,見圖3.從圖中可以看到有些髒數據,因此我們首先進行數據清洗,再進行數據分析。

圖1 pandas安裝
圖2 xlrd安裝

本文用到的函數有:

pandas.read_excel(path):讀取path路徑下的excel文件

df['面積'].str.contains('平米').fillna(False):將某列是否包含關鍵字信息做標誌

df2= df[rows_with_pingmi]:做完標誌後進行篩選

df2['面積'].replace({r'[^\x00-\x7F]+':''}):正則表達式,將漢字替換為空

plt.subplot(2,2,3):同一張背景畫多個圖,2*2畫4張圖,位置在第三個

plt.scatter(x,y,color='blue',marker='+'):用+標誌x,y位置,列印一個一個點位置

plt.plot(x,y,color='blue',linewidth=2):用線表示,點點之間用線連接

df2.head():顯示df2的前面5行數據

df2.columns:從excel讀取出來的列,本案例是

Index(['網址', '總價', '簡介', '地址', '格局', '面積', '朝向', '裝修'], dtype='object')

二數據清洗

下圖紅色框框對應的行是髒數據,需要將這些行刪掉。

圖3鏈家房價信息

import pandas as pd

excel = "C:/Users/xzx/Desktop/linkHomeData.xlsx"

df= pd.read_excel(excel,sheet_name='Sheet1')

#刪除面積列裡不包含「平米」兩個字的行

rows_with_pingmi= df['面積'].str.contains('平米').fillna(False)

df2= df[rows_with_pingmi]

#刪除面積列「平米」兩個字

df2=df2['面積'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)

上述執行後,我們得到如下的乾淨數據。

圖4清洗後的數據

三數據分析

>>> import matplotlib.pyplot as plt

>>> plt.subplot(2,2,1)

<matplotlib.axes._subplots.AxesSubplot object at 0x000002D1EBB2D910>

>>> x=df2['地址']

>>> y=df2['總價']

>>> plt.scatter(x,y,color='blue',marker='+')

<matplotlib.collections.PathCollection object at 0x000002D1EBB5FA90>

>>> plt.xlabel('地址')

Text(0.5, 0, '地址')

>>> plt.ylabel('總價')

Text(0, 0.5, '總價')

>>> plt.subplot(2,2,2)

<matplotlib.axes._subplots.AxesSubplot object at 0x000002D1EBB5FEE0>

>>> x=df2['面積']

>>> plt.scatter(x,y,color='red',marker='*')

<matplotlib.collections.PathCollection object at 0x000002D1EBB93760>

>>> plt.xlabel('面積')

Text(0.5, 0, '面積')

>>> plt.subplot(2,2,3)

<matplotlib.axes._subplots.AxesSubplot object at 0x000002D1EBB939D0>

>>> x=df2['格局']

>>> plt.scatter(x,y,color='green',marker='#')

<matplotlib.collections.PathCollection object at 0x000002D1EBBC9430>

>>> plt.xlabel('格局')

Text(0.5, 0, '格局')

>>> plt.subplot(2,2,4)

<matplotlib.axes._subplots.AxesSubplot object at 0x000002D1EBBC96A0>

>>> x=df2['裝修']

>>> plt.scatter(x,y,color='yellow',marker='$')

<matplotlib.collections.PathCollection object at 0x000002D1EACCF8E0>

>>> plt.xlabel('裝修')

Text(0.5, 0, '裝修')

>>> plt.tight_layout()

>>> plt.show()

圖5

四總結

性質相近的會聚類在一起,比較特殊的是上邊那個點,四個圖都突出那個點,這種房子比較少,四室兩廳,精裝,地理位置在市政府附近,價格高昂。第一張圖,價格比較高的地理位置一般在廈門島內,價格低點的一般在島外。第二張圖是面積與總價的關係,第三張圖發現大部分房子格局都是2室2廳和2室1廳和3室2廳。第四張圖說明毛坯房比較少,大都是精裝。

相關焦點

  • python數據分析之pandas(二)
    在python數據分析之pandas庫基礎用法(一)數據讀取(read_csv)文章中我們已經學會了用pandas讀取csv文件和索引取數的技巧,在這篇文章中我們來學習如何預處理數據及pandas自定義函數。
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • Python數據分析之pandas數據讀寫
    引言我們現在已經基本熟悉了pandas庫以及它所提供的用於數據分析的基礎功能,也知道了DataFrame和Series是這個庫的核心,數據處理、計算和分析都是圍繞他們展開的。本節將學習pandas從多種存儲媒介(比如文件和資料庫)讀取數據的工具,還將學到直接將不同的數據結構寫入不同格式文件的方法,而無需過多考慮所使用的技術。本節的主要內容為pandas的多種I/O API函數,它們為大多數常用格式的數據作為DataFrame對象進行讀寫提供了很大便利。你首先會學會文本文件的讀寫,隨後再逐步過渡到更加複雜的二進位文件。
  • 為什麼要學習pandas來處理分析數據?
    1、代碼級別自動化流程從數據分析角度來說,爬蟲只是第一步,也就是數據獲取。獲取數據後,需要進行探索性分析,也就是EDA操作,接著是數據清洗、分析、呈現。用python代碼完成所有工作,避免數據搬移、格式切換導致的誤差。excel能做的pandas可以自動化、效率更高地完成。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    【每天幾分鐘,從零入門python編程的世界!】numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。
  • 大牛三步詳解:運用Python在pandas模塊進行數據分析
    一、數據結構介紹在pandas中有兩類非常重要的數據結構,即序列Series和數據框DataFrame。2、DataFrame的創建數據框的創建主要有三種方式:1)通過二維數組創建數據框對於數據框的對齊,不僅僅是行索引的自動對齊,同時也會自動對齊列索引(變量名)數據框中同樣有索引,而且數據框是二維數組的推廣,所以其不僅有行索引,而且還存在列索引,關於數據框中的索引相比於序列的應用要強大的多,這部分內容將放在數據查詢中講解。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十四):連續區域
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 使用PandasGUI進行探索性數據分析
    模塊,它為pandas創建了一個GUI界面,我們可以在其中使用pandas的功能分析數據和使用不同的功能,以便可視化和分析數據,並執行探索性數據分析。探索性數據分析是最關鍵的部分,無論何時我們使用數據集時都要首先進行分析。它允許我們分析數據,探索數據的初始結果,比如有多少行和列,不同的列是什麼,等等。EDA是一種方法,我們使用不同的方法,主要是可視化來總結數據的主要特徵。如果您正在處理數據,EDA是一個重要且最關鍵的步驟。在整個項目中,幾乎有30%的時間是用來探索數據並找出它到底是關於什麼的。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十六):橫向操作
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十三):環比
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十八):二分法查找
    此系列文章收錄在:數據大宇宙 > 數據處理 > E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 思考python數據分析工具pandas-1簡介
    介紹我們生活在一個充滿數據的世界裡。事實上,數據如此之多,幾乎不可能全部理解。我們比以往任何時候都更加依賴計算機來幫助我們理解這些海量的信息。無論是通過搜尋引擎進行數據發現,還是通過圖形用戶界面進行展示,或是通過算法進行聚合,我們都會使用軟體來處理、提取並以對我們有意義的方式呈現數據。&34;已經成為一個越來越受歡迎的處理大數據集的軟體包。
  • 思考python數據分析工具pandas-1簡介
    介紹我們生活在一個充滿數據的世界裡。事實上,數據如此之多,幾乎不可能全部理解。我們比以往任何時候都更加依賴計算機來幫助我們理解這些海量的信息。無論是通過搜尋引擎進行數據發現,還是通過圖形用戶界面進行展示,或是通過算法進行聚合,我們都會使用軟體來處理、提取並以對我們有意義的方式呈現數據。"pandas "已經成為一個越來越受歡迎的處理大數據集的軟體包。
  • Python數據分析之NumPy庫
    NumPy庫簡介NumPy庫使用Python進行科學計算,尤其是數據分析時,所用到的一個基礎庫。它是大量Python數學和科學計算包的基礎,比如我們後面會講到的pandas庫就用到了NumPy。pandas庫專門用於數據分析,充分借鑑了Python標準庫NumPy的相關概念。
  • 懂Excel也能輕鬆入門Python數據分析包pandas(二):高級篩選(上)
    更多 Python 數據處理的乾貨,敬請關注!!!!系列文章:懂Excel就能輕鬆入門Python數據分析包pandas(一):篩選功能前言經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十五):拆分數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd轉發本文並私信我"python",即可經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • python數據分析之pandas常用命令整理
    pandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。你很快就會發現,它是使Python成為強大而高效的數據分析環境的重要因素之一。
  • 利用python+tushare+pandas進行股票的主營業務構成分析
    大家在購買股票時,肯定要先分析一個企業,肯定會分析這個企業的主營業務構成,會去關注到底是什麼業務支撐企業的發展,那麼是否該項業務是否持續或在發生轉變。當然大家一般會利用股票軟體的F10或手機APP裡的公司資料、財報等進行查看分析,但是這些都是相對固定的,畢竟都是標準的格式。
  • 利用python+tushare+pandas進行財報分析
    財報分析的對象是財務報表,財務報表主要包括三大報表,資產負債表、利潤表、現金流量表。這三大報表分析,也會以關注主要項為主,如果能全面分析是最好:1.獲利能力分析:利潤的高低、利潤額的增長速度等。2.償債能力分析:短期償債能力主要分析其變現能力即流動資產的分布、變動情況,確保投資的安全。
  • Python數據處理與分析包:Pandas的簡單用法
    Pandas 是python的一個數據分析包,它基於Numpy而構建,可以處理不同數據類型。Pandas提供了大量能使我們快速便捷地處理數據的函數和方法。你很快就會發現,它是使Python成為強大而高效的數據分析環境的重要因素之一。Pandas提供的哪些功能??