【问题标题】:how to fill blank cells in a dataframe with the last preceding non-blank cell?如何用最后一个非空白单元格填充数据框中的空白单元格?
【发布时间】:2019-10-01 14:44:26
【问题描述】:

我有这样的数据框

A   
    abc
    dce
    fds
B   
    kjh
    abc

我希望它像

A   
A   abc
A   dce
A   fds
B   
B   kjh
B   abc

此处提出了类似的问题,但针对的是 excel。 In Excel, how to fill blank cells with the last preceding non-blank cell?

想知道是否有任何简单干净的代码可以在python中执行此操作。

编辑:我实际上有很多列,抱歉我一开始没有提到这一点。因此, df['col'] = df['col'].ffill() 确实回答了我的问题。谢谢。

【问题讨论】:

  • 你在找ffill()吗?
  • 是的,我想我是。谢谢。

标签: python pandas dataframe


【解决方案1】:
df.fillna(method='ffill')

查看文档here

【讨论】:

    【解决方案2】:

    如果没有缺失值,则使用 ffill 前向填充缺失值:

    df['col'] = df['col'].ffill()
    

    如果没有值是空字符串,首先将它们替换为NaNs:

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

    【讨论】: