【发布时间】:2018-02-21 21:45:39
【问题描述】:
我想根据以下条件向我的数据框添加一个新属性“LabelId”:给定输入数据框 DF,找到 k nlargest(k, velocity) 并为每个值添加和减去一些毫秒,例如50 通过应用 apply(lambda x: x - np.timedelta64( 50, 'ms' ) ) 和 apply(lambda x: x + np.timedelta64( 50, 'ms' ) ) 并将新属性 LabelId 设置为 1 否则设置为 0。
输入DF:考虑速度列的2个最大值并加上50 ms。
eventTime, velocity
1, 2017-08-19T12:53:55:050, 3
2, 2017-08-19T12:53:55:100, 4
3, 2017-08-19T12:53:55:150, 180
4, 2017-08-19T12:53:55:200, 2
5, 2017-08-19T12:53:55:250, 5
6, 2017-08-19T12:53:55:050, 3
7, 2017-08-19T12:53:55:100, 4
8, 2017-08-19T12:53:55:150, 70
9, 2017-08-19T12:53:55:200, 2
10, 2017-08-19T12:53:55:250, 5
输出DF:
eventTime, velocity, LabelId
1, 2017-08-19T12:53:55:050, 3, 0
2, 2017-08-19T12:53:55:100, 4, 1
3, 2017-08-19T12:53:55:150, 180, 1
4, 2017-08-19T12:53:55:200, 2, 1
5, 2017-08-19T12:53:55:250, 5, 0
6, 2017-08-19T12:53:55:050, 3, 0
7, 2017-08-19T12:53:55:100, 4, 1
8, 2017-08-19T12:53:55:150, 70, 1
9, 2017-08-19T12:53:55:200, 2, 1
10, 2017-08-19T12:53:55:250, 5, 0
我一直在使用上述功能,但没有得到正确的结果。 请,任何建议将不胜感激。 非常感谢, 此致, 卡罗
【问题讨论】:
-
你能用更人性化的方式描述一下LabelId是什么意思吗?在该列中
1是什么意思,0是什么意思? -
好的,当然。 0 表示“写作”,“1”表示“阅读”。但我不清楚这对解决方案有何影响。