1. 程式人生 > >pandas處理缺失資料

pandas處理缺失資料

《Python for Data Analysis》

NA處理方法

方法 說明
dropna 根據各標籤的值中是否存在缺失資料對軸標籤進行過濾,可通過閾值調節對缺失值得容忍度
fillna 用指定值或插值方法(如ffill和bfill)填充缺失資料
isnull 返回一個含有布林值的物件,這些布林值表示哪些值是缺失值NA,該物件的型別與源型別一樣
notnull isnull的否定式

濾除缺失資料(dropna)

Series
In [1]: import pandas as pd

In [2
]: from pandas import DataFrame, Series In [3]: import numpy as np In [4]: from numpy import nan as NA In [5]: data = Series([1, NA, 3.5, NA, 7]) In [6]: data.dropna() Out[6]: 0 1.0 2 3.5 4 7.0 dtype: float64 In [7]: data[data.notnull()] Out[7]: 0 1.0 2 3.5 4 7.0 dtype: float64
DataFrame
  • DataFrame中dropna預設丟棄任何含有缺失值的行。

  • 傳入how=’all’將只丟棄全為NA的行

  • 如果想丟棄列,只需傳入axis=1

填充缺失資料(fillna)!!

  • 常數呼叫df.fillna(0)
  • 字典呼叫,對不同的列填充不同的值df.fillna({1:0.5, 3:-1})
  • fillna預設會返回新物件!!,就地修改: _ = df.fillna(0, inplace=True)
  • reindex有效的插值方法也可用於fillna

替換值

利用fillna方法填充缺失資料可以看做值替換的一種特殊情況。而replace則提供了一種實現該功能的更簡單、更靈活的方式。

In [11]: data = Series([1.,-999.,2.,-999.,-1000.,3.])

In [12]: data
Out[12]:
0       1.0
1    -999.0
2       2.0
3    -999.0
4   -1000.0
5       3.0
dtype: float64

In [13]: data.replace(-999, np.nan)
Out[13]:
0       1.0
1       NaN
2       2.0
3       NaN
4   -1000.0
5       3.0
dtype: float64

In [14]: data.replace([-999,-1000], np.nan)
Out[14]:
0    1.0
1    NaN
2    2.0
3    NaN
4    NaN
5    3.0
dtype: float64

In [15]: data.replace([-999,-1000], [np.nan,0])
Out[15]:
0    1.0
1    NaN
2    2.0
3    NaN
4    0.0
5    3.0
dtype: float64

In [16]: data.replace({-999 : np.nan, -1000 : 0})
Out[16]:
0    1.0
1    NaN
2    2.0
3    NaN
4    0.0
5    3.0
dtype: float64

相關推薦

pandas處理缺失資料

《Python for Data Analysis》 NA處理方法 方法 說明 dropna 根據各標籤的值中是否存在缺失資料對軸標籤進行過濾,可通過閾值調節

pandas知識點(處理缺失資料

pandas使用浮點值NaN表示浮點和非浮點陣列中的缺失資料: In [14]: string_data = Series(['aardvark','artichoke',np.nan,'avocado']) In [15]: string_data Out[15]: 0 aar

python資料分析pandas包入門學習(四)處理缺失資料

本文參考《利用Python進行資料分析》的第五章 pandas入門 4 處理缺失資料 缺失資料(missing data)在大部分資料分析應用中都很常見。Pandas的設計目標之一就是讓缺失資料的處理任務儘量輕鬆。例如,pandas物件上的所有描述統計都排除了缺失資料

Python中缺失值分類及Pandas缺失資料處理函式

一、Python中缺失值分類 Python中有三種缺失值(空值): 形式 含義 None Python內建的None值,如建立一個空的列表list=[] NA 在pandas中,將缺失值表示為NA,表示不可用not available,主

Pandas處理缺失數據

HR dataframe AC print 改變 進行 post 參數 解釋 利用pandas.DataFrame.dropna處理含有缺失值的數據 1.使用形式: DataFrame.dropna(axis=0, how=‘any‘, thresh=None, subse

[Pandas]利用Pandas處理excel資料

Python 處理excel的第三包有很多,比如XlsxWriter、xlrd&xlwt、OpenPyXL、Microsoft Excel API等,最後綜合考慮選用了Pandas。 Pandas 是基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量

Python資料處理之(十 三)Pandas 處理丟失資料

建立含 NaN 的矩陣 有時候我們匯入或處理資料, 會產生一些空的或者是NaN資料,如何刪除或者是填補這些 NaN 資料就是我們今天所要提到的內容. 建立了一個6X4的矩陣資料並且把兩個位置置為空. >>> dates=pd.date_range('20181

Python利用pandas處理Excel資料的應用

Python利用pandas處理Excel資料的應用        最近迷上了高效處理資料的pandas,其實這個是用來做資料分析的,如果你是做大資料分析和測試的,那麼這個是非常的有用的!!但是其實我們平時在做自動化測試的時候,如

PandasPandas處理本文資料

目錄 連線 方法摘要 使用文字資料 Series和Index配備了一組字串處理方法,可以輕鬆地對陣列的每個元素進行操作。也許最重要的是,這

pandas 處理缺失值[dropna、drop、fillna]

面對缺失值三種處理方法: option 1: 去掉含有缺失值的樣本(行) option 2:將含有缺失值的列(特徵向量)去掉 option 3:將缺失值用某些值填充(0,平均值,中值等) 對於dro

pandas 處理文字資料

import pandas as pd import numpy as np 常規的字串操作 s = pd.Series(['A',"B","C","AaBa","Baca",np.nan,'dog','cat']) s 0 A 1 B 2 C 3 AaB

利用Python進行資料分析_Pandas_處理缺失資料

申明:本系列文章是自己在學習《利用Python進行資料分析》這本書的過程中,為了方便後期自己鞏固知識而整理。  1 讀取excel資料 import pandas as pd import numpy as np file = 'D:\example.xls' df = pd.DataFr

python使用pandas處理資料節省記憶體技巧

一般來說,用pandas處理小於100兆的資料,效能不是問題。當用pandas來處理100兆至幾個G的資料時,將會比較耗時,同時會導致程式因記憶體不足而執行失敗。 當然,像Spark這類的工具能夠勝任處理100G至幾個T的大資料集,但要想充分發揮這些工具的優

pandas處理csv資料基本用法

# -*- coding: utf-8 -*- import pandas #讀csv檔案 data = pandas.read_csv('test.csv') # print data #返回前n行 first_rows = data.head(n=5) # prin

pandas刪除缺失資料(pd.dropna()方法)

1.建立帶有缺失值的資料庫:import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index = list('abcde'), columns = ['one', 't

pandas處理缺失值補全及DictVectorizer特徵轉換

下面介紹的是用pands讀取泰坦尼克遇難船員的資料,然後挑選特徵,補全缺失值,特徵轉換。 1.pands讀取資料 titanic=pd.read_csv('./titanic.txt') 其資料形式如下: |row_num |pclass|survived|n

pandas(二)pandas處理丟失資料

Logout2-pandas_missing_values Last Checkpoint: 06/13/2018 (unsaved changes)Python 3 TrustedCodeMarkdo

如何利用pandas處理資料

翻譯自這篇文章 當我們需要處理大資料時,如果不對資料做任何處理,可能會帶來記憶體佔用過大和執行過慢的風險。 當然對於處理大資料集,類似spark之類的專業處理工具是大家的首選,但是pandas優秀的特性和簡單明瞭的語法能極大提升資料分析的效率,因此我需要考慮

python pandas處理缺失

缺失值:python中顯示為NaN,python用np.nan,None表示在簡單的運算+-*/中,有缺失值的畫,運算結果在相應的位置上也是缺失值在描述性統計sum,mean,min.max等中,NaN都是作為0進行運算操作:判斷返回一個含有布林值的物件,True表示是缺失值

pandas處理excel資料經驗

1.excel檔名,或者工作簿中都不能含有中文字元,一旦含有,載入時就會報IO錯誤。列名似乎可以支援中文字元。 解決方案,網友遇到類似的問題,“csv檔案中有大量中文,怎樣在pandas裡面顯示?” 主要是解碼編碼的問題。 方案一: pd.read_c