国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

香港云服务器
服務器之家 - 腳本之家 - Python - 利用pandas進行數據清洗的方法

利用pandas進行數據清洗的方法

2022-01-10 00:40sharon@zhang Python

本文主要介紹了利用pandas進行數據清洗的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

我們有下面的一個數據,利用其做簡單的數據分析。

利用pandas進行數據清洗的方法

這是一家服裝店統計的會員數據。最上面的一行是列坐標,最左側一列是行坐標。列坐標中,第 0 列代表的是序號,第 1 列代表的會員的姓名,第 2 列代表年齡,第 3 列代表體重,第 4~6 列代表男性會員的三圍尺寸,第 7~9 列代表女性會員的三圍尺寸。

數據清洗規則總結為以下 4 個關鍵點,統一起來叫“完全合一”,下面來解釋下:

  • 完整性:單條數據是否存在空值,統計的字段是否完善。
  • 全面性:觀察某一列的全部數值,比如在 Excel 表中,我們選中一列,可以看到該列的平均值、最大值、最小值。我們可以通過常識來判斷該列是否有問題,比如:數據定義、單位標識、數值本身。
  • 合法性:數據的類型、內容、大小的合法性。比如數據中存在非 ASCII 字符,性別存在了未知,年齡超過了 150 歲等。
  • 唯一性:數據是否存在重復記錄,因為數據通常來自不同渠道的匯總,重復的情況是常見的。行數據、列數據都需要是唯一的,比如一個人不能重復記錄多次,且一個人的體重也不能在列指標中重復記錄多次。

1、完整性

1.1 缺失值

一般情況下,由于數據量巨大,在采集數據的過程中,會出現有些數據單元沒有被采集到,也就是數據存在缺失。通常面對這種情況,我們可以采用以下三種方法:

  • 刪除:刪除數據缺失的記錄
  • 均值:使用當前列的均值填充
  • 高頻:使用當前列出現頻率最高的數據

比如我們相對data[‘Age']中缺失的數值使用平均年齡進行填充,可以寫:

)

如果我們用最高頻的數據進行填充,可以先通過 value_counts 獲取 Age 字段最高頻次 age_maxf,然后再對 Age 字段中缺失的數據用 age_maxf 進行填充:

train_features['Age'].fillna(age_maxf, inplace=True)

1.2 空行

我們發現數據中有一個空行,除了 index 之外,全部的值都是 NaN。Pandas 的 read_csv() 并沒有可選參數來忽略空行,這樣,我們就需要在數據被讀入之后再使用 dropna() 進行處理,刪除空行。

df.dropna(how='all',inplace=True) 

2、全面性

列數據的單位不統一

如果某一列數據其單位并不統一,比如weight列,有的單位為千克(Kgs),有的單位是磅(Lbs)。
這里我們使用千克作為統一的度量單位,將磅轉化為千克:

rows_with_lbs = df['weight'].str.contains('lbs').fillna(False)
print df[rows_with_lbs]
# 將 lbs轉換為 kgs, 2.2lbs=1kgs
for i,lbs_row in df[rows_with_lbs].iterrows():
  # 截取從頭開始到倒數第三個字符之前,即去掉lbs。
  weight = int(float(lbs_row['weight'][:-3])/2.2)
  df.at[i,'weight'] = '{}kgs'.format(weight) 

3、合理性

 非ASCII字符

假設在數據集中 Firstname 和 Lastname 有一些非 ASCII 的字符。我們可以采用刪除或者替換的方式來解決非 ASCII 問題,這里我們使用刪除方法,也就是用replace方法:

df['first_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)
df['last_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)

4、唯一性

4.1 一列有多個參數

假設姓名(Name)包含了兩個參數 Firstname和Lastname。為了達到數據整潔的目的,我們將 Name 列拆分成 Firstname 和 Lastname 兩個字段。我們使用 Python 的 split 方法,str.split(expand=True),將列表拆成新的列,再將原來的 Name 列刪除。

df[['first_name','last_name']] = df['name'].str.split(expand=True)
df.drop('name', axis=1, inplace=True)

4.2 重復數據

我們校驗一下數據中是否存在重復記錄。如果存在重復記錄,就使用 Pandas 提供的 drop_duplicates() 來刪除重復數據。

df.drop_duplicates(['first_name','last_name'],inplace=True)

這樣,我們就將上面案例中中的會員數據進行了清理,來看看清理之后的數據結果。

利用pandas進行數據清洗的方法

到此這篇關于利用pandas進行數據清洗的方法的文章就介紹到這了,更多相關pandas 數據清洗內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

原文鏈接:https://blog.csdn.net/baidu_41797613/article/details/120420358

延伸 · 閱讀

精彩推薦
1238
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 九色91| 国产一区二区h | 国产中文字幕一区 | 极品粉嫩饱满一线天在线 | 亚洲午夜网 | 在线视频 亚洲 | 国产成人天天爽高清视频 | 亚洲精品在线观看av | 国产精品免费观看 | 午夜社区 | 久久人人爽爽爽人久久久 | 久久久久久香蕉 | 日韩在线视频一区 | 国产二区视频 | 国产成人在线电影 | 久久久精品免费观看 | 高清国产一区二区三区 | 亚洲国产成人av | 一区二区三区 在线 | 99精品久久久久久久免费 | 久久久久久久国产 | 精品久久久av| 国产a自拍| av日韩在线播放 | 亚洲午夜剧场 | 国产四区| 99在线免费视频 | 亚洲一区二区在线 | 射久久| 女生高潮在线观看 | 久久综合久久综合久久 | 日韩精品久久久久 | 久久国 | 伊人天堂在线 | 九九综合九九 | 免费看黄色的视频 | 亚洲一区二区三区四区五区中文 | 免费a视频 | 亚洲成av人片在线观看香蕉 | 黄色高清网站 | 91大全 |