缺失值处理熊猫

时间:2021-05-27 06:16:43

标签: python pandas

我在两列中有值,如下所示: '''

    column1              Column2                                                                    
    xyz                   xyzabc                                                                                    



    qwe                  qwerty 
    

'''

我想用正向填充方法填充剩余的行。但即使在使用以下代码后,它也没有显示任何内容。(使用 df.info 时列不显示空值,尽管它有)(当我使用 inplace=True 时,它​​在整个 column1 中显示 None 条目)

'''

    df["column1"].fillna( method ='ffill')
    df["column2"].fillna(method = 'ffill', inplace = True)

'''

1 个答案:

答案 0 :(得分:2)

首先将空白或空格替换为缺失值:

df = pd.DataFrame({'User': ['acanter ', ' ', ' ', ' ', ' '], 
 'Name': [' Andy Canter ', ' ', ' ', ' ', ' '],
 'Company': [' 135 ', ' 135 ', ' 135 ', ' 000 ', ' 135 '],
 'Session': [' ottstpbdeman ', ' ttstptcserver ', ' ottstpjcadaem ', ' ottstpstdlib ', ' bptmmo486m000 '],
 'Description': [' ttstpbdeman ', ' Thin Client server ', ' ttstpjcadaemo ', ' stdlib Server ', 'new']})

print (df)
       User           Name Company          Session           Description
0  acanter    Andy Canter     135     ottstpbdeman           ttstpbdeman 
1  acanter    Andy Canter     135    ttstptcserver    Thin Client server 
2  acanter    Andy Canter     135    ottstpjcadaem         ttstpjcadaemo 
3  acanter    Andy Canter     000     ottstpstdlib         stdlib Server 
4  acanter    Andy Canter     135    bptmmo486m000                    new

df = df.replace(r'^\s*$', np.nan, regex=True).ffill()
print (df)
       User           Name Company          Session           Description
0  acanter    Andy Canter     135     ottstpbdeman           ttstpbdeman 
1  acanter    Andy Canter     135    ttstptcserver    Thin Client server 
2  acanter    Andy Canter     135    ottstpjcadaem         ttstpjcadaemo 
3  acanter    Andy Canter     000     ottstpstdlib         stdlib Server 
4  acanter    Andy Canter     135    bptmmo486m000                    new