課程目標
之前學習了利用pandas對資料的永久性儲存以及對本地資料的讀取,但是資料中可能存在我們不需要的,甚至可能會存在重複資料和空值的情況,針對這種情況下,我們將學習如何刪除多餘的資料和重複資料以及空值的處理
課程難點
刪除資料,空值及多餘資料的處理函式和函式引數的理解記憶
課程重要內容重現
一.刪除資料
首先讀取檔案,檢視資料
執行結果:
可以看到資料**現很多的nan,也就是我們常說的空值
如果想建立空值,且檢視一下空值的資料型別及空值在資料運算的結果
根據執行結果,我們可以看到nan的資料型別是float,在資料運算中,結果總是nan,這就會影響到我們的實際運算結果。
在大批量的series資料中,使用肉眼很難判斷空值的存在,我們就需要先對空值進行過濾
6-8行執行結果:
10-12行輸出結果:
14-16行輸出結果:
通過結果得到,結果依然是尋在nan的,並沒有過濾掉
在dataframe型別資料中,有一下兩種刪除資料的辦法:
dropna()是刪除空值資料的方法,預設將只要含有nan的整行資料刪掉
刪除整行都是空值的資料需要新增how='all'引數
對列做刪除操作,需要新增axis引數,axis=1表示列,axis=0表示行
thresh引數篩選想要刪除的資料,thresh=n保留至少有n個非nan資料的行
drop()方法是單純的刪除資料
語句格式:
drop()引數介紹
刪除行列有兩種方式
二 空值的處理
將整條資料刪除
使用fillna()方法對空值進行填充
df.fillna(value=none, method=none, axis=none, inplace=false, limit=none, downcast=none, **kwargs)
注意:method引數不能與value引數同時出現
三.重複資料的處理
duplicated()函式可以判斷是否重複
如果當前行所有列的資料與前面的資料是重複的就返回true;反之,則返回false
drop_duplicates()將重複的資料行進行刪除
判斷某一列的重複資料,然後進行刪除
df.drop_duplicates(['countryname'],inplace=false)
['countryname']表示對比countryname列資料是否有重複,inplace用來控制是否直接對原始資料進行修改
第四節 陣列(一)
實現三子棋程式 define crt secure no warnings include include include include intmenu define max row 3 define max col 3 void init char chessboard max row max ...
第四節 陣列(二)
實現掃雷程式 define crt secure no warnings include include include include define max row 9 define max col 9 define mine count 10 intmenu void init char sho...
第四節 資料降維案列
import pandas as pd from sklearn.decomposition import pca 讀取表 prior pd.read csv r e 360downloads software 降維案列資料 order products prior.csv products pd....