【发布时间】:2021-03-30 07:58:07
【问题描述】:
问题陈述:
我有一个 CSV 文件,其中包含 30 分钟的一些记录/行。考虑到我们需要在该 5 分钟间隔内为给定列选择最后一个非空值,我需要创建另一个 CSV,该 CSV 每 5 分钟间隔有一行。
我拥有的样本数据:
DateTime A B C D
0:00:00 502.8977051 503.2932129 18.44742966 NULL
0:00:00 504.0772095 502.510498 19.74362946 NULL
0:00:03 506.5715942 501.0021973 18.33575058 NULL
0:00:06 506.9558105 500.8230896 18.01424026 NULL
0:00:09 507.637085 502.4645996 18.22068024 NULL
0:01:00 503.7373962 500.0382996 19.65225029 NULL
0:01:03 501.9363098 498.4442139 18.83662987 NULL
0:01:06 501.2966919 498.635498 18.13269043 NULL
0:01:09 501.3804932 499.8033142 18.47451019 NULL
0:01:12 501.2026062 502.9010925 18.27821922 NULL
0:01:15 500.9111938 504.7002869 18.64034081 NULL
0:01:57 499.8942871 503.0549927 19.3476696 NULL
0:02:00 500.7025146 503.311615 18.45420074 NULL
0:02:03 500.3114929 504.3681946 19.56426048 NULL
0:02:06 499.1243896 505.3652039 18.55912018 NULL
0:02:09 499.8727112 507.0862122 19.55410957 NULL
0:02:12 500.377594 507.8305969 18.19698906 NULL
0:03:00 499.7817993 506.4544983 18.27145004 NULL
0:03:03 499.6297913 505.3894958 18.03116035 NULL
0:03:06 499.1319885 503.8894043 19.45935059 NULL
0:03:09 497.7235107 502.6158142 19.35782051 NULL
0:04:00 498.6130066 NULL 19.00246048 NULL
0:04:03 498.3045959 NULL 18.31543922 NULL
0:04:06 498.9266052 NULL 20.20389938 NULL
0:04:09 500.3635864 NULL 18.74864006 NULL
0:04:12 501.0609131 NULL 18.34589958 NULL
0:05:00 502.0812073 502.6158142 19.80117035 NULL
0:06:00 503.0812073 NULL 20.80117035 4
0:07:00 503.0812073 NULL 21.80117035 NULL
0:08:00 NULL NULL 22.80117035 NULL
0:09:00 NULL 506.6158142 23.80117035 NULL
0:10:00 503.0812073 NULL 24.80117035 NULL
............................................
因此,在合并每最后 5 分钟的数据并从该时间段输出中仅选择最后一个非空值后,输出将如下所示:
DateTime A B C D
0:05:00 502.0812073 502.6158142 19.80117035 NULL
0:10:00 503.0812073 506.6158142 24.80117035 4
.........
因此输出将每 5 分钟记录一次(0:05:00, 0:10:00, 0:15:00, 0:20:00, .... 我们可以拥有的最大日期范围)
如果任何列在最后 5 分钟间隔内包含所有 NULL 值,那么我们也可以在该间隔的输出中包含 NULL 值。
对如何对这些数据进行分组有什么想法吗?任何帮助将不胜感激。
【问题讨论】:
标签: python pandas csv aggregate