2017-09-22 11 views
1

あるパーセントの欠損値を含む列を削除しようとしています。以下 は実施例である:Python欠損値の大きな割合を含む列を削除する

raw_data = {'first_name': ['Jason', np.nan, 'Tina', 'Jake', 'Amy'], 
    'last_name': ['Miller', np.nan, 'Ali', 'Milner', 'Cooze'], 
    'age': [42, '' , '', '', 73], 
    'sex': ['m', np.nan, 'f', 'm', 'f'], 
    'preTestScore': [4, np.nan, np.nan, 2, 3], 
    'postTestScore': [25, np.nan, np.nan, 62, 70]} 
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 
    'sex', 'preTestScore', 'postTestScore']) 
df 
first_name last_name age sex preTestScore postTestScore 
0 Jason Miller  42 m 4.0    25.0 
1 NaN  NaN    NaN NaN    NaN 
2 Tina Ali    f NaN    NaN 
3 Jake Milner   m 2.0    62.0 
4 Amy  Cooze  73 f 3.0    70.0 

df = df.dropna(thresh=0.7*len(df), axis=1) 
df 
first_name last_name age sex 
0 Jason Miller  42 m 
1 NaN  NaN    NaN 
2 Tina Ali    f 
3 Jake Milner   m 
4 Amy  Cooze  73 f 

私も「年齢」列をドロップすることがどのように?空のセルにゼロを入れようとすると、drop.naを使って何時間も費やしました。私はちょうど '年齢'の列に行方不明の細胞を検出する方法については理解できません。その後、あなたはreplaceが必要

答えて

3

df=df.replace({'':np.nan}) 
df = df.dropna(thresh=0.7*len(df), axis=1) 
df 
Out[858]: 
    first_name last_name sex 
0  Jason Miller m 
1  NaN  NaN NaN 
2  Tina  Ali f 
3  Jake Milner m 
4  Amy  Cooze f 
+1

dropnaはありがとうございました!!!!!魅力のように働く..私はできるだけ早く答えを受け入れるだろう(私が今受け入れないようにする)。 –

+0

@continuous_learner Yw btw次回はタグパンダを追加できます;-) – Wen

関連する問題