資料返回nan 資料分析第四節 資料七十二變

2021-10-12 09:41:21 字數 2141 閱讀 5877

課程目標

之前學習了利用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....