基本上,我要寻找的是某种滚动功能,该功能循环通过窗口并返回第一个非null值。但是这种情况下的列属于对象类型,因此我无法使用滚动功能。
def last_qb_internal(rolling_window):
n = len(rolling_window)
value = 'None'
for i in range(0, n):
if np.isnan(rolling_window[n - i - 1]):
continue
else:
value = rolling_window[n - i - 1]
break
return value
user_story['last_qb'] = user_story.groupby(['emp_id'])['quarterback_name'].rolling(window=window,
min_periods=1).apply(
last_qb_internal).reset_index(drop=True)
所以在这里我有三列emp_id date和Quarterback_name,我想创建一个新列'last_qb'。我正在寻找可以复制上面代码的东西。我将不胜感激,谢谢!