有沒有大神知道如何在python進行資料預處理

時間 2021-06-12 06:20:32

1樓:波羅學

介紹如何用python做資料預處理前,可以先了解下預處理有哪些步驟?簡單列舉了幾個,如下:

檢查,資料是存在髒資料、缺失等情況,如何找出它們;

清洗,如何丟棄異常的資料,或者進行補齊等操作;

篩選,選出自己對自己有價值的資料;

排序,指定字段排序,然後進行top n獲取等;

轉換,資料join、合併、運算等;

不嫌麻煩,直接用python原生資料結構也能處理,但比較複雜。簡單的方法,使用python強大的資料分析庫pandas了。

現在要學python的matplotlib和pandas,有沒有適合的這樣的資料分手教程書?

列舉一些簡單的例子,接下來隨便說說。

先準備資料,從sckit-learn中匯入鳶尾花的資料集,並生成dataframe。如下:

import pandas as pd

from sklearn.datasets import load_iris

d = load_iris()

columns = ['SLength', 'SWidth', 'PLength', 'PWidth']

df = pd.DataFrame(d.data, columns=columns)

df["Type"] = list(map(lambda x: d.target_names[x], d.target))

檢視資料的基本資訊,比如行數、列數,欄位等。可通過info方法實現:

In [6]: df.info()

RangeIndex: 150 entries, 0 to 149

Data columns (total 5 columns):

SpealLength 150 non-null float64

Spealwidth 150 non-null float64

PetalLength 150 non-null float64

PetalLength 150 non-null float64

Type150 non-null object

dtypes: float64(4), object(1)

memory usage: 5.9+ KB

通過head、tail了解資料的前後幾行,實現對資料的直觀認識。

In [8]: df.tail(5)

Out[8]:

SLength SWidth PLength PWidth Type

145 6.7 3.0 5.2 2.3 virginica

146 6.3 2.5 5.0 1.9 virginica

147 6.5 3.0 5.2 2.0 virginica

148 6.2 3.4 5.4 2.3 virginica

149 5.9 3.0 5.1 1.8 virginica

通過describe了解資料的一些統計資訊

In [9]: df.describe()

Out[9SpealLength Spealwidth PetalLength PetalLength

count 150.000000 150.000000 150.000000 150.000000

mean 5.843333 3.054000 3.758667 1.198667

std 0.828066 0.433594 1.764420 0.763161

min 4.300000 2.000000 1.000000 0.100000

25% 5.100000 2.800000 1.600000 0.300000

50% 5.800000 3.000000 4.350000 1.300000

75% 6.400000 3.300000 5.100000 1.800000

max 7.900000 4.400000 6.900000 2.500000

丟棄資料報含NaN的行。

In [10]: df.dropna()

注:這個資料集中沒有NaN資料,測試不出效果。

資料補齊,比如前向補齊。

In [11]: df.fillna(method='ffill')

支援各種篩選,比如選擇品種為virginica的鳶尾花,如下:

In [12]: df[df['Type'] == 'virginica']

按花蕊寬度進行排序,即PWidth

In [13]: df.sort_values(by='PWidth')

假設有了新品種,可以合併進來

In [14]: pd.concat([df, dn]).reset_index()

求平均數

In [15]: df.mean()

有點偷懶了,本來想寫的細點,突然有點累,上面介紹的都是一些基本的資料處理方法。

前面提到的那本書的購買。

如何在Windows系統中開發Python語言的桌面應用程式?

不推薦用Python做桌面應用。1.wxPython wxPython 是 Python 語言的一套優秀的 GUI 圖形庫,允許 Python 程式設計師很方便的建立完整的 功能鍵全的 GUI 使用者介面。wxPython 是作為優秀的跨平台 GUI 庫 wxWidgets 的 Python 封裝和...

有沒有哪位大神知道碟仙的玩法?

SSSSecret 這種東西,從科學角度來講,就是碟子和盤子,但是很多事情科學無法解釋,這種靈異遊戲你看看網上的故事也就算了,不要自己去玩這種遊戲,玩這種遊戲出事的人不是沒有,穩妥起見,還是平平安安的好,這種遊戲沒事就算了,出了事情就難辦了,請神容易送神難,這種話不是隨便說說的,寧可信其有,不可信其...

有沒有大神知道這個概率怎麼算?

Kkk不是大神但是也來答一波 抽取13顆,有11顆是紅豆,那麼剩下兩顆就是綠豆。用這種抽法的總數除以從660顆裡抽13顆豆子抽法的總數就能得到題主問的概率。因為符號不好打出來,用C n,m 表示組合數公式,n是下標,m是上標 所以抽13顆裡面有11顆是紅豆的概率是P C 330,11 C 330,2...