简体   繁体   中英

ffill not filling data in pandas dataframe

I have a dataframe like this :

  A  B  C  E D
---------------
0 a  r  g    g
1            x
2 x  f  f    r
3            t
3            y

I am trying for forward filling using ffill. It is not working

 cols = df.columns[:4].tolist()
 df[cols] = df[cols].ffill()

I also tried :

df[cols] = df[cols].fillna(method='ffill')

But it is not getting filled. Is it the empty columns in data causing this issue?

Data is mocked. Exact data is different (contains strings,numbers and empty columns)

desired o/p:

  A  B  C  E D
---------------
0 a  r  g    g
1 a  r  g    x
2 x  f  f    r
3 x  f  f    t
3 x  f  f    y

NaN替换列子集中的空值:

df[cols] = df[cols].replace('', np.nan).ffill()

You should replace the empty strings with np.NaN before:

df = df.replace('', np.NaN)
df[cols] = df[cols].ffill()

Replace '' with np.nan first:

df[df='']=np.nan
df[cols] = df[cols].ffill()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM