我正在努力解决这个问题。我想迭代数据帧列中的值,并在每天看到值时返回第一个实例。 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中看到值的那一天,而不是每天重置第一个(),这是我需要的(见下面所需的输出)。
我希望以下列格式保留此值的时间:
这是输入数据帧:
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的新列中标记事件首次出现的时间。
管理员。请注意,此问题与另一个标记为重复的问题不同,因为这需要首次出现滚动。
答案 0 :(得分:0)
尝试使用此数据:
ArrayList<Obj> objects = new ArrayList<>();
Obj a=new Obj("smth", "Note: na, na, na", R.drawable.image1);
objects.add(a);
a=new Obj("smth", "Note: na, na, na", R.drawable.image2);
objects.add(a);
a=new Obj("smth", "Note: na, na, na", R.drawable.image3);
objects.add(a);
输出是这样的:
rng = pd.DataFrame( {'test_1': [None, None,None, None, 1,1, 1 , None, None, None,1 , None, None, None,]}, index = pd.date_range('4/2/2014', periods=14, freq='BH'))
rng
test_1
2014-04-02 09:00:00 NaN
2014-04-02 10:00:00 NaN
2014-04-02 11:00:00 NaN
2014-04-02 12:00:00 NaN
2014-04-02 13:00:00 1.0
2014-04-02 14:00:00 1.0
2014-04-02 15:00:00 1.0
2014-04-02 16:00:00 NaN
2014-04-03 09:00:00 NaN
2014-04-03 10:00:00 NaN
2014-04-03 11:00:00 1.0
2014-04-03 12:00:00 NaN
2014-04-03 13:00:00 NaN
2014-04-03 14:00:00 NaN