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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python数据清理_Python-数据清理

發布時間:2025/3/11 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python数据清理_Python-数据清理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在現實生活中,數據丟失始終是一個問題。諸如機器學習和數據挖掘之類的領域在模型預測的準確性方面面臨著嚴重的問題,因為缺少值會導致數據質量較差。在這些領域中,缺失值處理是使模型更準確和有效的主要重點。

什么時候以及為什么會丟失數據?

讓我們考慮對產品進行在線調查。很多時候,人們不會共享與他們有關的所有信息。很少有人會分享他們的經驗,但是不會分享他們使用該產品多長時間。很少有人分享他們使用該產品的時間,他們的經歷而不是他們的聯系信息。因此,總是以某種方式丟失一部分數據,這在實時情況下非常普遍。

現在讓我們看看如何使用熊貓處理缺失值(例如NA或NaN)。

# import the pandas libraryimportpandasaspdimportnumpyasnp

df=pd.DataFrame(np.random.randn(5,3),index=['a','c','e','f','h'],columns=['one','two','three'])df=df.reindex(['a','b','c','d','e','f','g','h'])printdf

其輸出如下-

one two three

a 0.077988 0.476149 0.965836

b NaN NaN NaN

c -0.390208 -0.551605 -2.301950

d NaN NaN NaN

e -2.000303 -0.788201 1.510072

f -0.930230 -0.670473 1.146615

g NaN NaN NaN

h 0.085100 0.532791 0.887415

使用重新索引,我們創建了一個缺少值的DataFrame。在輸出中,NaN表示不是數字。

檢查缺失值

為了使檢測的缺失值更容易(和不同陣列dtypes),熊貓提供ISNULL()和NOTNULL()功能,這也是對系列和數據幀的對象的方法-

importpandasaspdimportnumpyasnp

df=pd.DataFrame(np.random.randn(5,3),index=['a','c','e','f','h'],columns=['one','two','three'])df=df.reindex(['a','b','c','d','e','f','g','h'])printdf['one'].isnull()

其輸出如下-

a False

b True

c False

d True

e False

f False

g True

h False

Name: one, dtype: bool

清理/填充丟失的數據

熊貓提供了多種清除缺失值的方法。fillna函數可以通過以下幾種方法用非空數據“填充” NA值。

用標量值替換NaN

以下程序顯示了如何將“ NaN”替換為“ 0”。

importpandasaspdimportnumpyasnp

df=pd.DataFrame(np.random.randn(3,3),index=['a','c','e'],columns=['one','two','three'])df=df.reindex(['a','b','c'])printdfprint("NaN replaced with '0':")printdf.fillna(0)

其輸出如下-

one two three

a -0.576991 -0.741695 0.553172

b NaN NaN NaN

c 0.744328 -1.735166 1.749580

NaN replaced with '0':

one two three

a -0.576991 -0.741695 0.553172

b 0.000000 0.000000 0.000000

c 0.744328 -1.735166 1.749580

在這里,我們用零值填充;相反,我們還可以填充其他任何值。

向前和向后填充NA

使用“重新索引”一章中討論的填充概念,我們將填充缺少的值。

方法

行動

填充/填充

填充方法前進

填充/回填

向后填充方法

importpandasaspdimportnumpyasnp

df=pd.DataFrame(np.random.randn(5,3),index=['a','c','e','f','h'],columns=['one','two','three'])df=df.reindex(['a','b','c','d','e','f','g','h'])printdf.fillna(method='pad')

其輸出如下-

one two three

a 0.077988 0.476149 0.965836

b 0.077988 0.476149 0.965836

c -0.390208 -0.551605 -2.301950

d -0.390208 -0.551605 -2.301950

e -2.000303 -0.788201 1.510072

f -0.930230 -0.670473 1.146615

g -0.930230 -0.670473 1.146615

h 0.085100 0.532791 0.887415

刪除缺失值

如果只想排除缺失值,則將dropna函數與axis參數一起使用。默認情況下,axis = 0,即沿著行,這意味著如果一行中的任何值為NA,那么將排除整個行。

importpandasaspdimportnumpyasnp

df=pd.DataFrame(np.random.randn(5,3),index=['a','c','e','f','h'],columns=['one','two','three'])df=df.reindex(['a','b','c','d','e','f','g','h'])printdf.dropna()

其輸出如下-

one two three

a 0.077988 0.476149 0.965836

c -0.390208 -0.551605 -2.301950

e -2.000303 -0.788201 1.510072

f -0.930230 -0.670473 1.146615

h 0.085100 0.532791 0.887415

替換缺少的(或)通用值

很多時候,我們必須用某個特定值替換一個通用值。我們可以通過應用replace方法來實現。

用標量值替換NA是fillna()函數的等效行為。

importpandasaspdimportnumpyasnp

df=pd.DataFrame({'one':[10,20,30,40,50,2000],'two':[1000,0,30,40,50,60]})printdf.replace({1000:10,2000:60})

其輸出如下-

one two

0 10 10

1 20 0

2 30 30

3 40 40

4 50 50

5 60 60

總結

以上是生活随笔為你收集整理的python数据清理_Python-数据清理的全部內容,希望文章能夠幫你解決所遇到的問題。

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