資料清洗 DataFrame中的空值處理

2021-08-13 03:15:27 字數 1893 閱讀 9520

資料清洗是一項複雜且繁瑣的工作,同時也是整個資料分析過程中最為重要的環節。

在python中空值被顯示為nan。首先,我們要構造乙個包含nan的dataframe物件。

>>> 

import numpy as np

>>>

import pandas as pd

>>>

from pandas import series,dataframe

>>>

from numpy import nan as nan

>>> data = dataframe([[12,'man','13865626962'],[19,'woman',nan],[17,nan,nan],[nan,nan,nan]],columns=['age','***','phone'])

>>> data

age *** phone

012.0 man 13865626962

119.0 woman nan

217.0 nan nan

3 nan nan nan

刪除表中全部為nan的行

>>> data.dropna(axis=0, how='all')

age *** phone

012.0 man 13865626962

119.0 woman nan

217.0

nannan

刪除表中任何含有nan的行

>>> data.dropna(axis=0, how='any')

age *** phone

012.0 man 13865626962

刪除表中全部為nan的列

>>> data.dropna(axis=1, how='all')

age *** phone

012.0 man 13865626962

119.0 woman nan

217.0

nannan

3nan

nannan

刪除表中任何含有nan的列

>>> data.dropna(axis=1, how='any')

empty

dataframe

columns:

index: [0, 1, 2, 3]

注意:axis 就是」軸,數軸「的意思,對應多維陣列裡的」維「。此處作者的例子是二維陣列,所以,axis的值對應表示:0軸(行),1軸(列)。

如果不想過濾(去除)資料,我們可以選擇使用fillna()方法填充nan,這裡,作者使用數值』0』替代nan,來填充dataframe。

>>> data.fillna(0)

age *** phone

012.0 man 13865626962

119.0 woman 0

217.000

30.0

00

我們還可以通過字典來填充,以實現對不同的列填充不同的值。

>>> data.fillna()

age *** phone

012.0 man 13865626962

119.0 woman 666

217.0

233666

3nan

233666

DataFrame學習三 資料清洗

3.1 去重 data.duplicated 標記出哪些是重複的 true data.drop duplicates 直接將重複刪除,預設保留第一條 3.2 處理缺失資料 data.dropna 預設為整行刪除 data.dropna how all axis 1,inplace true how ...

python中DataFrame資料幀的統計方法

我們把每乙個column作為乙個樣本資料集,就可以對其進行一些統計學方法的計算,比如求和sum 求平均mean 求方差var 求標準差std 求個數count 求最大值max 求最小值min,等操作。我們用以下 來進行演示 import pandas as pd dict data df data ...

DataFrame中關於object資料型別的說明

1 構造乙個dataframe 圖中,我們構造了乙個dataframe,這個dataframe有2列,第一列全部都是數值型別,第二列中既有數值型別又有布林型別。對於col1列,由於都是同一種資料型別,系統能夠辨認出來,這是一種int數值型別 int64是一種預設的資料型別 對於col2列,由於這一列...