df.at[0,'Initial'] = 10000
df.loc[1:99,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
Initial
10000.000000
10063.995538
NaN
NaN
NaN...
与此代码我创建的10000起始值和它应该添加前值+(前值* PCT更改)数据帧不累加值正确(索引)
但是嗨,大家好它在第二行后继续生产NaN
有任何建议吗?
Initial Pct Change
10000.000000 -0.000710
10063.995538 0.006400
NaN 0.002827
NaN 0.009148
NaN 0.000694
我喜欢在初始的3线为10063.995538 +(10063.995538 * 0.002827) 但它产生的NaN 不知这种语法df.loc [1:99, '初始']是错误的?
我只能做出初步适当做这个填充:
df.at[0,'Initial'] = 10000
df.loc[1:,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
df.loc[2:,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
df.loc[3:,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
`....`
但为什么不df.loc [1:99, '初始']工作的?
什么是初始'Initial'的值? –
嗨,我用 df.at [0,'初始'] = 10000 我没有任何其他行关于初始以外的这2行 –
从你的代码,我假设你想做一些迭代计算。不幸的是,这段代码不会让你走得太远,因为它处理的是'Initial'列中的当前值,除了第一列之外,所有这些都恰好是'NaN'。 –