gpt4 book ai didi

python - 将 1 分钟间隔内的最后一个值分配给 pandas DataFrame 的行

转载 作者:太空宇宙 更新时间:2023-11-04 01:49:26 26 4
gpt4 key购买 nike

我有一个这样的DataFrame

    time                    val

2019-10-01 04:00:00.000 568830.000
2019-10-01 17:47:29.794 37612.000
2019-10-01 19:41:03.697 37.000
2019-10-01 19:41:03.698 37612.000
2019-10-02 00:16:07.224 376.000
2019-10-02 00:16:07.225 37612.000
2019-10-02 01:19:05.135 3761.000
2019-10-02 01:19:05.136 37612.000
2019-10-02 08:26:27.623 36612.000
2019-10-02 08:26:27.624 36493.000
2019-10-03 07:08:54.455 364.000
2019-10-03 07:08:54.456 36493.000

我想创建一个包含 X 分钟间隔内的last 值的新列,例如val 列 1 分钟。

预期输出:

    time                    val        result

2019-10-01 04:00:00.000 568830.000 568830.000
2019-10-01 17:47:29.794 37612.000 37612.000
2019-10-01 19:41:03.697 37.000 37612.000
2019-10-01 19:41:03.698 37612.000 37612.000
2019-10-02 00:16:07.224 376.000 37612.000
2019-10-02 00:16:07.225 37612.000 37612.000
2019-10-02 01:19:05.135 3761.000 37612.000
2019-10-02 01:19:05.136 37612.000 37612.000
2019-10-02 08:26:27.623 36612.000 36493.000
2019-10-02 08:26:27.624 36493.000 36493.000
2019-10-03 07:08:54.455 364.000 36493.000
2019-10-03 07:08:54.456 36493.000 36493.000

最佳答案

DatetimeIndex DataFrame.resampleResampler.transformlast 一起使用:

df['result'] = df.resample('T')['val'].transform('last')
print (df)
val result
time
2019-10-01 04:00:00.000 568830.0 568830.0
2019-10-01 17:47:29.794 37612.0 37612.0
2019-10-01 19:41:03.697 37.0 37612.0
2019-10-01 19:41:03.698 37612.0 37612.0
2019-10-02 00:16:07.224 376.0 37612.0
2019-10-02 00:16:07.225 37612.0 37612.0
2019-10-02 01:19:05.135 3761.0 37612.0
2019-10-02 01:19:05.136 37612.0 37612.0
2019-10-02 08:26:27.623 36612.0 36493.0
2019-10-02 08:26:27.624 36493.0 36493.0
2019-10-03 07:08:54.455 364.0 36493.0
2019-10-03 07:08:54.456 36493.0 36493.0

并为 time 列添加参数 on:

df['result'] = df.resample('T', on='time')['val'].transform('last')
print (df)
time val result
0 2019-10-01 04:00:00.000 568830.0 568830.0
1 2019-10-01 17:47:29.794 37612.0 37612.0
2 2019-10-01 19:41:03.697 37.0 37612.0
3 2019-10-01 19:41:03.698 37612.0 37612.0
4 2019-10-02 00:16:07.224 376.0 37612.0
5 2019-10-02 00:16:07.225 37612.0 37612.0
6 2019-10-02 01:19:05.135 3761.0 37612.0
7 2019-10-02 01:19:05.136 37612.0 37612.0
8 2019-10-02 08:26:27.623 36612.0 36493.0
9 2019-10-02 08:26:27.624 36493.0 36493.0
10 2019-10-03 07:08:54.455 364.0 36493.0
11 2019-10-03 07:08:54.456 36493.0 36493.0

关于python - 将 1 分钟间隔内的最后一个值分配给 pandas DataFrame 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58376395/

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