gpt4 book ai didi

python - 一列中的差异基于另一列中的差异,pandas

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

如何使用 pandas 执行以下操作?

我有这个数据框:

weight   |  Date                  |  dateDay
43 | 09/03/2018 08:48:48 | 09/03/2018
30 | 10/03/2018 23:28:48 | 10/03/2018
45 | 12/03/2018 04:21:44 | 12/03/2018
25 | 17/03/2018 00:23:32 | 17/03/2018
35 | 18/03/2018 04:49:01 | 18/03/2018
39 | 19/03/2018 20:14:37 | 19/03/2018

我想要这个:

weight   |  Date                  |  dateDay     |  Fun_Cum
43 | 09/03/2018 08:48:48 | 09/03/2018 | NULL
30 | 10/03/2018 23:28:48 | 10/03/2018 | -13
45 | 12/03/2018 04:21:44 | 12/03/2018 | NULL
25 | 17/03/2018 00:23:32 | 17/03/2018 | NULL
35 | 18/03/2018 04:49:01 | 18/03/2018 | 10
39 | 19/03/2018 20:14:37 | 19/03/2018 | 4

伪代码:

如果 Day 不跟随 Day-1 => Fun_Cum 为 NULL;

其他(体重日)-(体重日-1)

谢谢

最佳答案

这是使用 pd.Series.diff 的一种方法和 pd.Series.shift 。您可以获取连续 datetime 元素之间的差异并访问 pd.Series.dt.days属性。

df['Fun_Cum'] = df['weight'].diff()

df.loc[(df.dateDay - df.dateDay.shift()).dt.days != 1, 'Fun_Cum'] = np.nan

print(df)

weight Date dateDay Fun_Cum
0 43 2018-03-09 2018-03-09 NaN
1 30 2018-03-10 2018-03-10 -13.0
2 45 2018-03-12 2018-03-12 NaN
3 25 2018-03-17 2018-03-17 NaN
4 35 2018-03-18 2018-03-18 10.0
5 39 2018-03-19 2018-03-19 4.0

关于python - 一列中的差异基于另一列中的差异,pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50463625/

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