【发布时间】:2016-07-04 18:28:49
【问题描述】:
我正在为此苦苦挣扎,因此任何输入都表示赞赏。我想迭代数据框列中的值,并在每天看到一个值时返回第一个实例。 Groupby 看起来是一个不错的选择,但是当使用 df.groupby(grouper).first() 和 grouper 设置为每天时,会看到以下输出。
In [95]:
df.groupby(grouper).first()
Out[95]:
test_1
2014-03-04 1.0
2014-03-05 1.0
这只是给出在测试 _1 中看到该值的那一天,而不是每天重置 first() 这是我需要的(请参阅下面的所需输出)。
我想以以下格式保存看到此值的时间:
这是输入数据框:
test_1
2014-03-04 09:00:00 NaN
2014-03-04 10:00:00 NaN
2014-03-04 11:00:00 NaN
2014-03-04 12:00:00 NaN
2014-03-04 13:00:00 NaN
2014-03-04 14:00:00 1.0
2014-03-04 15:00:00 NaN
2014-03-04 16:00:00 1.0
2014-03-05 09:00:00 1.0
这是所需的输出:
test_1 test_output
2014-03-04 09:00:00 NaN NaN
2014-03-04 10:00:00 NaN NaN
2014-03-04 11:00:00 NaN NaN
2014-03-04 12:00:00 NaN NaN
2014-03-04 13:00:00 NaN NaN
2014-03-04 14:00:00 1.0 1.0
2014-03-04 15:00:00 NaN NaN
2014-03-04 16:00:00 1.0 NaN
2014-03-05 09:00:00 1.0 NaN
我只想在名为 test_output 的新列中标记事件首次发生的时间。
管理员。请注意,此问题与另一个标记为重复的问题不同,因为这需要滚动一天的第一次出现。
【问题讨论】:
标签: python pandas time-series