データ前のクリーニング

「」「
    データクリーニング
            プロセスは検出値で繰り返される1. 
            欠損値を検出する2れる
            3異常値処理を検出
「」」
インポートNP AS numpyの
 インポートAS PANDAS PD 

#の重複排除:列重みに応じて、保持したままそして、元の表の最初のデータは、再し 
= pd.DataFrame({データを' A '、[1 ,. 1、2,2] ' B ':[ ' A '' B '' A '' B ' ]})
 プリント(データ)
 列の重複排除
#1 data.drop_duplicates( 'A'、 '「まず、インプレース=真)印刷(データ)すべての列の再に
#のdata.drop_duplicates( 'まず'、インプレース= TRUE) 印刷(データ)重複した値を検出:行のデフォルト 
重複= data.duplicated()
 印刷(重複)
 #の検出を値を複製:列に 
重複data.duplicated =([ ' A ' ])
 印刷(重複)

欠損値を処理するには、方法削除 
日付= pd.date_range(' 20130101 '、=ピリオド6 
DF = pd.DataFrame(NPします。 aRange(24).reshape((6 ,. 4))、インデックス=日付、列= [ ' A '' B '' C '' D ' ])
df.iloc [0、 1] = np.nan 
df.iloc [ 1、2] = np.nan
 プリント(DF)
DF1 = df.dropna(軸= 0 、どのように= ' 任意の'、インプレースは= False)が
 印刷(DF1)
代替方法 
DF2 = df.fillna(値= 0)
 を印刷(DF2)
は、欠損値かどうかを決定する 
DF3 = df.isnull()
 印刷(DF3)
統計は、欠損値の数の合計に登場
印刷(df3.sum())  (デフォルトの形で)各列の欠損値の数
を印刷(df3.sum(軸= 1))  欠落値の各行番号
を印刷(df3.sum()。SUM())  欠損値のデータ総数が表示され
#の分析をデータ全体のデータが欠落している場合 
DF4 = np.any(df.isnull())== プリント(DF4)


出力
   AB 
0  。1   A
。1. 1   B
 2 2   A
 3 2   B 
0偽
 1  2  3 
DTYPE :BOOL 
0偽
。1つの 2  3。 
DTYPE:BOOL
             ABCD
 2013年1月1日0のNaN 3 2.0 
2013年1月2日4 5.0のNaN 7 
2013年1月3日8 9.0 11 10.0 
2013年1月4日12 13.0 14.0 15 
2013年1月5日16 17.0 18.0 19 
2013-01- 06 20 21.0 22.0 23 
             ABCD
 2013年1月3日8 9.0 11 10.0 
2013年1月4日12 13.0 14.0 15 
2013年1月5日16 17.0 18.0 19 
2013年1月6日20 21.0 22.0 23 
             ABCD
 2013年1月1日0 0.0 3 2.0 
2013年1月2日4 5.0 0.0 7 
2013年1月3日8 9.0 11 10.0 
2013年1月4日12 13.0 14.0 15 
2013年1月5日16 17.0 18.0 19 
2013年1月6日20 21.0 22.0 23
                ABCD
 2013年1月1日  FALSE TRUE FALSE FALSE
 2013年1月2日  偽偽真偽
 2013年1月3日  偽偽偽偽
 2013年1月4日  偽偽偽偽
 2013年1月5日  偽偽偽偽
 2013-01- 06   FALSE FALSE FALSE FALSE 
0 
B     1 
C     1 
D 0 
DTYPE:Int64の
 2013年1月1日1 
2013年1月2日1 
2013年1月3日    0
 2013年1月4日    0
 2013年1月5日    0
 2013-01- 06     0 
のFreq:D、DTYPE:int64モード
 2
'' ' 
    データ値が欠落補間洗浄
''' 
インポートNP AS numpyのを
 より scipy.interpolate インポートinterp1d
 インポートMPのAS matplotlib.pyplot 

#があると補間データを作成 
X = np.linspace(0、10 *の np.pi、20 
Y = np.cos(x)が
 線形及び二次補間を使用して、それぞれ、 
F1 = interp1d(X、Y、種別= ' リニア' 
FQ = interp1d(X、Y、種別= ' 二次' xの設定された最大値を補間データとのクロスボーダー防止する最小値 
XINT = np.linspace(x.min()を、x.max()1000 
yint1 = = F1(XINT)
yintqFQ(XINT)
線形補間、二次補間効果 
mp.plot(X、Y、色= ' ピンク' 
mp.plot(XINT、yint1、カラー = ' ブルー'、ラベル= ' 線形' 
mp.plot( XINT、yintq、カラー = ' オレンジレッド'、ラベル= ' 二次ための' 
mp.legend()
mp.show()

  

おすすめ

転載: www.cnblogs.com/yuxiangyang/p/11286536.html
おすすめ