【发布时间】:2021-09-07 13:11:33
【问题描述】:
我想知道,我怎样才能只为not-NaN 行运行方法、函数或循环。我不想删除数据框并重置索引。目前,我正在使用 AvgHigh 函数,但它也在考虑 NaN 行。此外,如果建议的方法可以同时用于系列和数组。如果没有,请建议两者。提前致谢。
编辑
def AvgHigh(src, val) :
dat_list = []
last_src = np.nan # init variable that keeps the prev iteration value
for a in range(len(src)) :
if src[a] > val :
dat_list.append(src[a]) # yield src[a]
last_src = src[a] # update prev iteration value (for next iteration)
elif (src[a] <= val) and (a == 0) :
dat_list.append(np.nan) # yield np.nan
elif (src[a] <= val) and (a != 0) :
dat_list.append(last_src) # yield src[a-1]
return dat_list
df1['high_r'] = AvgHigh(df1['Values'], 14020)
【问题讨论】:
-
请显示您想要的示例结果
-
对不起@nay,实际上我意识到滚动方法不是这里的问题,AvgHigh 函数是我想从非 NaN 行开始的。感谢您的更新,我也更新了问题和代码。
标签: python pandas dataframe numpy nan