gpt4 book ai didi

python - Pandas:计算满足条件时的列之间的时间

转载 作者:行者123 更新时间:2023-12-01 08:21:03 24 4
gpt4 key购买 nike

我想计算自上次故障发生以来的天数。我的表格具有日期时间格式的日期列(日),以及分割数列

print (df)
Day Number of breakdowns
0 2017-01-09 1.0
1 2017-01-12 0.0
2 2017-01-13 0.0
3 2017-01-14 0.0
4 2017-01-16 3.0
5 2017-01-17 0.0
6 2017-01-18 0.0
7 2017-01-19 1.0
8 2017-01-20 0.0
9 2017-01-21 0.0
10 2017-01-23 1.0

Table I want

最佳答案

首先将故障数量与不等于ne进行比较累计总和为 cumsum用于变换first每组的值,因此可以减去时间增量并将其转换为 days :

df['Day'] = pd.to_datetime(df['Day'])

s = df.groupby(df['Number of breakdowns'].ne(0).cumsum())['Day'].transform('first')
df['New'] = (df['Day'] - s).dt.days
print (df)
Day Number of breakdowns New
0 2017-01-09 1.0 0
1 2017-01-12 0.0 3
2 2017-01-13 0.0 4
3 2017-01-14 0.0 5
4 2017-01-16 3.0 0
5 2017-01-17 0.0 1
6 2017-01-18 0.0 2
7 2017-01-19 1.0 0
8 2017-01-20 0.0 1
9 2017-01-21 0.0 2
10 2017-01-23 1.0 0

关于python - Pandas:计算满足条件时的列之间的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647626/

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