gpt4 book ai didi

python - 在单个数据框中为不同的项目创建持续时间

转载 作者:行者123 更新时间:2023-11-28 17:11:09 25 4
gpt4 key购买 nike

如何在单个数据框中为不同的项目创建持续时间

示例数据集

Item       Date           OnSale 
apple 2017-01-01 Yes
orange 2017-01-01 Yes
orange 2017-01-02 Yes
orange 2017-01-03 No
apple 2017-01-02 No
apple 2017-01-03 No
apple 2017-01-04 No
apple 2017-01-05 Yes

如何计算商品开始销售后的天数?

期望的输出

Item       Date           OnSale      DaySinceSale
apple 2017-01-01 Yes 0
orange 2017-01-01 Yes 0
orange 2017-01-02 Yes 0
orange 2017-01-03 No 1
apple 2017-01-02 No 1
apple 2017-01-03 No 2
apple 2017-01-04 No 3
apple 2017-01-05 Yes 0

最佳答案

尝试

df['DaySinceSale'] = df.groupby('Item')['OnSale'].apply(lambda x: (x == 'No') * (x == 'No').cumsum())

Item Date OnSale DaySinceSale
0 apple 2017-01-01 Yes 0
1 orange 2017-01-01 Yes 0
2 orange 2017-01-02 Yes 0
3 orange 2017-01-03 No 1
4 apple 2017-01-02 No 1
5 apple 2017-01-03 No 2
6 apple 2017-01-04 No 3
7 apple 2017-01-05 Yes 0

你也可以使用series.multiply()

df.groupby('Item')['OnSale'].apply(lambda x: (x == 'No').multiply((x == 'No').cumsum()))

关于python - 在单个数据框中为不同的项目创建持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337471/

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