我在两列中有值,如下所示: '''
column1 Column2
xyz xyzabc
qwe qwerty
'''
我想用正向填充方法填充剩余的行。但即使在使用以下代码后,它也没有显示任何内容。(使用 df.info 时列不显示空值,尽管它有)(当我使用 inplace=True 时,它在整个 column1 中显示 None 条目)
'''
df["column1"].fillna( method ='ffill')
df["column2"].fillna(method = 'ffill', inplace = True)
'''
答案 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