gpt4 book ai didi

python - 使用 pandas 中的 ffill 在以下 NaN 之间分配值

转载 作者:行者123 更新时间:2023-12-04 03:53:04 25 4
gpt4 key购买 nike

我有一个收到订单的数据框,例如:

 Date        Units
01-01-2020 2
02-01-2020 12
03-01-2020 NaN
04-01-2020 NaN
05-01-2020 5
06-01-2020 9
07-01-2020 NaN
08-01-2020 1

有时,客户会订购更多数量的商品,这样他们就不必在接下来的 1 或 2 天内重新订购。我试图找到客户在任何给定日期使用的平均数量。例如,如果客户订购 12,然后 2 天没有订购,则应将三天的所有单位更改为 4。输出将是:

 Date        Units
01-01-2020 2
02-01-2020 4
03-01-2020 4
04-01-2020 4
05-01-2020 5
06-01-2020 4.5
07-01-2020 4.5
08-01-2020 1

我可以结合使用 ffill 和添加辅助列来计算连续的 NaN 值,但我觉得必须有更优雅的方法。

最佳答案

我们可以尝试使用 isnullcumsum 创建 groupby 键然后进行 transform

df['Units'] = df['Units'].fillna(0).groupby(df['Units'].notnull().cumsum()).transform('mean')
0 2.0
1 4.0
2 4.0
3 4.0
4 5.0
5 4.5
6 4.5
7 1.0

关于python - 使用 pandas 中的 ffill 在以下 NaN 之间分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64148185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com