pandas去重和填補 刪除空值

2021-09-18 05:32:57 字數 2112 閱讀 7142

接著之前那個介紹pandas索引與選取的文章寫的。如果有錯誤歡迎指出,謝謝。總結的可能不全,後續會補充。

我是不想把相關函式的每個引數都介紹一遍,只介紹最基本的去重刪除等操作。

所有的操作基於如下數表:

pandas的去重函式:pd.drop_duplicates()。

具體用法示例:

df.drop_duplicates(

['c'])

# 對c列去重,保留下來的是第一行的資料。

df.drop_duplicates(

['c','d'])

# 對c,d列去重。去重後無變化,因為cd兩列相同的值並不在同一行上。

df.drop_duplicates(

['c','e'])

# 對c,e列去重。會刪去c這一行。

df.drop_duplicates(

)# 無變化。因為數表中並沒有兩行或以上完全相同的。

基於以下數表:

要處理空值,首要的就是要找到空值。

pandas判斷是否為空值的函式(會判斷數表內的每乙個單元格的數字):

df.isnull()

結果為:

結果為:

任取一列的:

2. 找到空值之後,就要對空值進行處理:

**第一種處理方式:**利用pandas的處理空值的函式:

**示例:

df.dropna(

)# 去掉所有有空值的行

df['b'

].dropna(

)# 去掉b列裡所有為空值的行

**第二種處理方式:**利用pandas填充空值的函式:

**示例:

df.fillna(5)

# 把所有的空值用5填充

df['b'

].fillna(5)

# 把b列裡所有的空值用5填充

**第三種處理方式:**利用isnull()函式和pandas的序列索引進行空值填充:。

需要注意的是這樣的空值填充方式會直接改變原表。

df.loc[df[

'b']

.isnull(),

'b']

=1234

# 把b列裡所有的空值用1234填充

暫時想到的就這麼多。

SqlServersql 如何去重和刪除重複資料

sqlserver沒有oracle的rowid查詢去重,只有distinct查詢去重,但是用於刪除不便。sqlserver row number 函式使用方法 分割槽排序 1 對資料進行分組排序後進行查詢 並刪除多條的重複資料 select row number over partition byx...

資料去重 填補空缺值(拉格朗日)

此時我是不是該喊一聲 我胡漢三又回來啦!這篇部落格容許我摸一下資料清洗的褲腳.1.首先。這是在網上找的資料,乙個心臟病的資料集,英文不好的默默開啟翻譯,被我悄悄的做了手腳變成 髒資料 2.去重 1 將文字傳入kettle,轉換為excel檔案 2 進行去重步驟操作,可以看到有4條重複資料被去除,輸出...

js 去重及去掉陣列中的空值

1.陣列去重 var arr 1343 rere 1343 rerd array.prototype.unique function for var i 0 i this.length i console.log json return res console.log arr.unique 1343...