日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python如何读dat数据_如何用Python进行数据质量分析

發布時間:2025/4/17 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python如何读dat数据_如何用Python进行数据质量分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

數據挖掘的第一步工作是數據準備,而數據準備的第一步就是數據質量分析了。本篇文章著重介紹如何使用Python進行數據質量分析的初步工作,屬于比較基礎的入門教程。

為什么要進行數據質量分析

根據百度百科的定義,數據挖掘是指從大量的數據中通過算法搜索隱藏于其中信息的過程。

我們在生活、工作中無時無刻不在產生數據。整個自然界、人類社會更是每天都會產生大量的數據。數據是客觀存在的,不會以某一個人的意志為轉移。而相對于某一個人或某一個個體,他可能只關心數據中的某些有價值的信息,這就需要在浩瀚的數據海洋中撈取那幾條他喜歡吃的魚。

由于數據來源、數據傳輸環節、數據儲存過程等都有可能使數據被污染,所以我們在使用數據之前非常有必要對數據的質量進行評估。質量評估的工作可能包括:將缺失的數據補齊、對一些異常值進行處理、使數據保持一致性等。

數據質量分析這個事,和我們把碗盤擺進洗碗機之前做的事比較像。

數據質量分析的一般流程

凡事皆有章法,數據質量分析也不例外。數據質量分析的一般流程如下:

  • 首先,我們要先把數據導入我們數據質量分析的框框之內。也就是說,我們想要對之進行質量分析的數據,你首先要從別的地方給拿過來。這個工作可能是把數據從硬盤中讀入內存中年,或者從其它業務系統把數據給提取出來等等。
  • 其次,我們要先重點處理其中缺失的值。比如說我們要分析一個班的同學的成績分布情況,首先當然是要先把沒有成績的同學找出來,看是忘記錄入成績了還是轉專業走了。根據實際情況,我們可能需要對缺省的值進行補齊、或者直接刪除那條缺少了數據的整條記錄。
  • 接下來,要對數據中的異常數據進行處理了。異常數據,往往是指的明顯不合常理的數據。比如說:一個人的年齡260歲、一個學生的單科成績是152分(滿分150分)等等。當然,實際數據處理中異常值不會如此簡單。實際中的不合常理的這個理,就是我們給這批數據制定一條規則,對不符合這條規則的數據我們都看成異常值。比如3σ原則,指的是服從正態分布的一組數據,如果方差為σ,那么一個數與平均值的差的絕對值大于3σ的概率非常小(小于等于0.003)。舉個例子來講就是,如果一個國家的平均身高是1.7米、方差是0.1米的話,你在大街上遇到一個2米身高的人的概率只有0.003,換句話說如果你采集到的身高的數據里出現了很多身高2米的人,你就有理由懷疑你的尺子出問題了。
  • 異常數據分析還有一種常用的方法叫箱型圖分析。就是,一組數我們按照一定方法規定一個上邊界、一個下邊界,超出上下邊界的數就認為是異常值。而上邊界,我們這樣來定義,如果一個數值Qu,這組數中75%的數都小于它,我們把這個數定義為上四分位數。類似方法,我們定義一個下四分位數Ql。那在Qu的基礎上再加上1.5倍的(Qu-Ql),定義為上邊界;在Ql的基礎上減去1.5(Qu-Ql),定義為下邊界。
  • 數據一致性分析,簡單說就是同一條記錄的同一個屬性可能有兩個不同的值,導致數據不一致。比如,學校的健康系統記錄了一個孩子的身高、體重數據、社區醫院的系統里面也記錄了這個孩子的身高、體重數據,但是因為采集時間點不一樣,這兩個數據是不一樣的,更高一級的數據挖掘系統把這兩個業務系統關于這個孩子的身高、體重數據提取過來后,就出現了不一致這個問題。
  • 下面我們通過要一個簡單的例子來看看利用Python進行數據質量分析的一般流程。

    凡事皆有章法

    一個簡單的例子

    這個例子很簡單。我們假設有一組數據,然后我們使用箱型圖法把這組數據中的異常值給剔出來。

    箱型圖的概念很容易理解,如下圖所示。只要把上四位數Qu、下四位數Ql找出來就可以了,在Python中要完成這個工作非常容易。

    箱型圖示例

    我們需要用到pandas庫,所以先把pandas庫引入進來

    import pandas as pd

    接下來,我們把數據從硬盤讀入內存,假設我們的數據名稱是"atering_sale.xls"。數據源是后面標注的參考書中第一個案例數據。使用下面這兩行命令來讀取:

    catering_sale = '../data/catering_sale.xls' data = pd.read_excel(catering_sale, index_col=u'日期')

    上面代碼中,我是把實驗室據放在data目錄下、python文件放在code目錄下,也就是說運行這個python文件的時候把運行環境的當前路徑改在了code這個目錄下。然后使用"../"找到code的上一級目錄,然后再找上級目錄的data子目錄下的catering_sale.xls文件。

    第二行,調用pandas的read_excel函數讀取excel文件。其中的index_col參數是指將excel文件中的“日期”這一列指定為行的索引。

    Python文件在code目錄下

    read_excel方法返回的是一個DataFrame,查看返回值data的前5行如下圖所示:

    data前5行

    接下來,導入matplotlib,代碼如下:

    import matplotlib.pyplot as plt #導入圖形庫 plt.rcParams['font.sans-serif']=['Simhei'] #用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號

    然后,建立一個圖例,使用DataFrame的boxplot方法畫箱型圖。

    最關鍵的一行就是"p = data.boxplot(return_type='dict') #畫箱線圖",這一行返回的是一個字典項的量。它的fliers里面記錄了異常值。

    然后使用下面的命令,把異常值標記到plt的figure上。

    for i in range(len(x)): if i>0:plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))else:plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i]))

    然后調用show命令把畫好的圖顯示出來就行了。

    plt.show() #展示箱線圖

    結果如下:

    箱型圖

    參考:

    《Python數據分析與挖掘實戰》,張良均 著,機械工業出版社。

    總結

    以上是生活随笔為你收集整理的python如何读dat数据_如何用Python进行数据质量分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。