【发布时间】:2020-03-16 16:14:14
【问题描述】:
我问了这个问题,得到的答案适用于具有连续且非缺失数据的一般情况,但不适用于我的具体情况。我有一个如下所示的 DF。
eventTime MeteredEnergy Demand RunningHoursLamps
6/7/2018 0:00 67.728 64 1037.82
6/7/2018 1:00 67.793 64 1038.82
6/7/2018 2:00 67.857 64 1039.82
6/7/2018 3:00 67.922 64 1040.82
6/7/2018 4:00 67.987 64 1041.82
6/7/2018 5:00 64 1042.82
6/7/2018 6:00 1043.43
6/7/2018 23:00 68.288
6/8/2018 0:00 67.728 64 1037.82
6/8/2018 23:00 67.793 64 1097.82
我需要一个 DF 来查找“eventTime”中每个唯一日期在 0 小时和 23 小时的 RunningHoursLamps 值之间的差异
Expected output
Date 00:00 23:00 Difference
6/7/2018 1037.82 NaN NaN
6/8/2018 1037.82 1097.82 60
【问题讨论】:
-
所以基本上,你想知道灯泡每天运行的时间吗?你试过什么代码?你现在卡在哪里了?
-
没错。根据此处的建议,我使用了 groupby.assign (第一,最后),但这仅在我拥有所有数据时才有效。我正在尝试遍历数据框,并仅在符合我的条件的特定日期和时间对数据进行采样。
bill3 = pd.DataFrame() each = unique_dates[5] for each in unique_dates: date = each hour0 = df[(df['eventTime'] == each) & (df['hour'] == 0)] ['RunningHoursLamp'] hour23 = df[(df['eventTime'] == each) & (df['hour'] == 23)] ['RunningHoursLamp'] bill3 = pd.DataFrame([date,hour0,hour23]) bill3 -
为什么使用当天的
0:00到23:00而不是第二天的0:00到0:00的span? -
@albert:你是对的。它应该是第二天的 0 到 0。我在处理prb时想到了这一点。谢谢
标签: python dataframe indexing sampling datetimeindex