【发布时间】:2021-06-15 16:20:44
【问题描述】:
我有以下数据框(为简洁起见,返回的时间序列被截断):
import pandas as pd
import numpy as np
df = pd.DataFrame({'return':np.array([np.nan, np.nan, np.nan, 0.015, -0.024, 0.033, 0.021, 0.014, -0.092])})
我试图在第一次返回之前的最后一个 NaN 开始索引(即“base-100”) - 同时保持 100 值之前的 NaN - (考虑附加到现有数据框并用于绘图目的)。
我只有在返回向量中没有 NaN 时才找到创建所述索引的方法:
df['index'] = 100*np.exp(np.nan_to_num(df['return'].cumsum()))
任何想法 - 提前谢谢!
【问题讨论】:
-
你能添加预期的输出吗?
-
当然,它应该是这样的...... NaN, NaN, NaN, 100.0, 101.5, 99.1, 102.3, 104.5, 105.9, 96.2。
标签: pandas dataframe numpy cumsum exp