pandas是一個強大的python數據分析的工具包python
pandsa是基於NumPy構建的數組
pip install pandas
import pandas as pd
import numpy as np import pandas as pd data = pd.Series([0.25,0.5,0.75,10]) data
data = pd.Series([0.25,0.5,0.75,10],index=['a','b','c','d'])
data = pd.Series([0.25,0.5,0.75,10],index=['2','5','3','7'])
area_dict = {'California': 423967, 'Texas': 695662, 'New York': 141297, 'Florida': 170312, 'Illinois': 149995} area = pd.Series(area_dict) area
缺失數據:使用NaN(Not a Number)來表示缺失數據,其值等於np.nan數據結構
內置的None值也會被當作NaN處理工具
一、data.isnull()建立一個布爾類型的掩碼標籤缺失值spa
import numpy as np import pandas as pd data = pd.Series([1, np.nan, 'hello', None]) data.isnull()
一、data[data.notnull()與data.isnull()操做相反3d
data[data.notnull()]
df3.dropna()
df.dropna(axis='columns', how='all')
df2.dropna(how='any')
df2[df2['close'].notnull()]
df.dropna(axis='rows', thresh=3)
第一行和第三行被剔除了,由於他們只包含兩個非缺失值對象
有時候你可你可能並不想移除缺失值,而是想把他們替換成有效的數值,有效的值可能想0,1,2那樣單獨的值,也可能blog
是通過填充(imputation)或轉換(interpolation)獲得的,雖然你能夠經過isnull方法創建掩碼來填充缺失值,可是Pandas索引
爲此專門提供了一個fillna(0)方法,他將返回填充缺失值後的數組副本ip
data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde')) data
一、data.fillna(0)單獨的值填充缺失值
data.fillna(0)
二、method='ffill' 能夠用缺失值前面的有效值來從前日後填充
data.fillna(method='ffill')
三、method='bfill' 也能夠用缺失值的有效值從後向前填充
data.fillna(method='bfill')
四、DataFrame的操做方法與Series相似,只是在填充時候須要設置座標軸參數axis
df.fillna(method='ffill', axis=1)
須要注意的是,假如從前日後填充式,須要填充的倒是值前面沒有值,那麼他就仍然是缺失值