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'。 –