預處理第一篇:Pandas.DataFrame的使用

導入文件

importnumpy as np

importpandas as pd

odata =pd.read_csv('example.csv')

這三行代碼就可以實現csv文件的導入,注意文件的路徑

刪除行

Data1 =data.drop([16,17])

這句代碼的意思是刪除文件中的第1617行,並且,後面第1819並不會自動補到1617的位置上去,行號從15以後就直接跳到18

 

.drop()方法如果不設置參數inplace=True,則只能在生成的新數據塊中實現刪除效果,而不能刪除原有數據塊的相應行。也就是inplace屬性可以對原來的數據進行刪除操作

Inplace = True用法:

odata.drop(odata.index[[16,17]],inplace=True)

我們要注意到用與不用inplace的區別,不用inplace的時候,我們使用另外一個變量Data1來暫時保存處理後的數據,而使用inplace的時候,我們直接調用一個函數對原來的數據進行操作。值得注意的是,inplace屬性並不會修改原來的文件,所以是安全的。也就是雖然直接對原來數據刪除,但並不會刪除到文件,只會在內存裏操作原來變量。

 

刪除列

del data['date']

代碼如上所示,直接刪除,注意這個del的方括號裏只能夠有一個參數。一次只能刪除一列。

.pop()方法

.pop方法可以將所選列從原數據塊中彈出,原數據塊不再保留該列,

Data1=data.pop(‘latitude’)

.pop方法將單獨的數據取出來,在我們想要對某一塊數據很感興趣的時候非常實用。

 

.split()的使用

簡單的Python的字符串分割

我們在數據預處理的時候很多時候要對一串帶有各種符號的數據進行處理。但是實際運行時我們要將它們分開處理,所以需要用到python帶的split函數來處理

str =('www.google.com')

print str

str_split= str.split('.')

printstr_split

這樣運行出來的結果是

www.google.com

[‘www’,‘google’,‘com’]

如果我們想要設置分割的個數,就在split裏面添加參數:

str_split= str.split(‘.’,1)

這樣得出的結果是:

www.google.com

[‘www’,’google.com’]

也就是隻分割了第一個字符,第二個就沒有分割了。

對於split函數,字符串和字符是一樣的,比如我們想要的數據被字符串“||”隔開,我們要想分割也是同樣寫法:

str =('WinXP||Win7||Win8||Win8.1')

print str

str_split= str.split('||')

printstr_split

得到(注意是單引號,不因爲是字符串而換成雙引號)

[‘WinXP’,’Win7’,’Win8’,’Win8.1’]

Re模塊的使用

我們在處理實際數據的時候,往往需要根據多種分隔符來分割,比如對於'Beautiful, is;better*than\nugly'這樣的字符串來說,我們要將其分割成獨立的單詞,僅僅用split就無法做到,因爲split函數運行一次之後將數據轉爲list類型,split函數不能處理list數據,所以不能連續運行兩次split。如果非要使用兩次split函數,我們可以在第二次使用split函數的時候,將函數內的參數加上(str)前綴強轉成string類型,括號要加上。由於split函數並不能設置多個參數,所以python內置的re模塊幫我們解決這個問題。具體使用如下

Import re

a='Beautiful,is; better*than\nugly'

x=re.split('[,|; |\*|\n]',a)

print(x)

得到結果是:

[‘Beautiful’,’is’,’better’,’than’,’nugly’]

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章