首页 > 解决方案 > 如何对填充应用条件?

问题描述

我想知道如何在 C_01_01_ActionPlan 和 C_01_03_StatusValue 上使用 ffill,条件是如果 C_01_03_StatusValue 上的单元格值为 None 并且如果上一个单元格 =“In Progress”,则从两个列中复制上一个单元格文本

这是一个文本视图

Report_Due_Date         C_01_03_StatusValue C_02_01_ActionPlan
1/1/2020                None                None
2/1/2020                Supplier network    In Progress
3/1/2020                Supplier network    In Progress
4/1/2020                Installation        In Progress
5/1/2020                None                None
6/1/2020                Telematics tool.    In Progress
7/1/2020                None                None
8/1/2020                None                None

当前的

图一

预期的:

图二

if df[df['C_01_03_StatusValue']] is None and df['C_01_03_StatusValue'].shift()=='In Progress':
      df['C_01_03_StatusValue'] = df['C_01_03_StatusValue'].ffill()

标签: pythonpandasnumpydataframe

解决方案


您可以尝试使用df.fillna(method='ffill'),因为它有助于向前填充数据并且可能有用


推荐阅读