【发布时间】:2021-06-04 03:05:00
【问题描述】:
我有一个数据框的子集,我需要使用基于另一列的分组和条件来回填。
data = [
["1A", "aa", "2020-05-09"],
["1A", np.nan, "2020-05-09"],
["1A", "ab", "2020-05-10"],
["2A", "bb", "2020-05-09"],
["2A", np.nan, "2020-05-09"],
["2A", "bc", "2020-05-10"],
]
df = pd.DataFrame(data, columns=["product", "value", "dates"])
df
基本上,对于一部分产品,我需要根据存在的日期回填值。例如:product 1A 我需要用aa 填写value,因为它们的日期都是2020-05-09。
我还需要在数据集的子集上执行此操作,并在此操作完成后将其与其余数据重新连接。
我尝试使用带有 lambda 函数(ffill 或 bfill)的 groupby,但这不起作用,因为我确实需要根据条件填充值。
任何帮助将不胜感激?!
【问题讨论】: