考虑下面的dataFrame。我想计算价格列的当前值是否大于最后10个值。我想使用shift,但不确定如何用于最后10行。
price
220 3.337
221 3.320
222 3.290
223 3.291
224 3.312
225 3.255
226 3.216
227 3.245
228 3.275
229 3.282
230 3.370
231 3.396
232 3.375
233 3.369
234 3.335
235 3.344
236 3.365
237 3.373
238 3.414
239 3.378
输出 Dataframe :
price isGreater
220 3.337 NaN
221 3.320 NaN
222 3.290 NaN
223 3.291 NaN
224 3.312 NaN
225 3.255 NaN
226 3.216 NaN
227 3.245 NaN
228 3.275 NaN
229 3.282 NaN
230 3.370 1.0
231 3.396 1.0
232 3.375 NaN
233 3.369 NaN
234 3.335 NaN
235 3.344 NaN
236 3.365 NaN
237 3.373 NaN
238 3.414 1.0
239 3.378 NaN
2条答案
按热度按时间bq8i3lrv1#
你可以使用
rolling
+max
来得到最后10行的最大值,如果大于它,那么它就大于或等于all(包括self,因此是+1):注意:从技术上讲,如果你真的只想比较前面的行,而不是自己(例如使用严格比较),你需要移位:
输出:
r7knjye22#
出局